1. 首页
  2. Python

腾讯云Centos7 从零开始安装Python3 Flask框架,并配置uWSGI+nginx

系统版本Centos7.4,安装python3.7。

1、关闭防火墙

firewall-cmd --state #查看防火墙状态 systemctl stop firewalld.service  #停止firewall systemctl disable firewalld.service  #禁止firewall开机启动

2、安装基础包

缺少gcc,没法make,所以安装gcc

yum -y install gcc

安装ssl

yum -y install openssl-devel

安装zlib

yum install zlib  yum install zlib-devel

安装 libffi

yum -y install libffi-devel

安装nginx

yum -y install nginx

nginx命令

systemctl start nginx #开启nginx服务 systemctl stop nginx #停止nginx服务 systemctl restart nginx #重启nginx服务

开启nginx后,浏览器中输入服务器ip地址,能够打开,如图

腾讯云Centos7 从零开始安装Python3 Flask框架,并配置uWSGI+nginx

3、安装python3.7.0

下载官网的python3.7.0

wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz   

解压缩文件

tar -xvf Python-3.7.0.tar.xz  cd Python-3.7.0

将python安装到/usr/local/python3

./configure --prefix=/usr/local/python3  

编译并安装

make && make install   

建立软连接,让系统识别python3时调用python3.7.0版本

ln -s /usr/local/python3/bin/python3 /usr/bin/python3  

建立软连接,让系统识别pip3

ln -s /usr/local/python3/bin/pip3.7 /usr/local/bin/pip3 

更新升级pip3

pip3 install --upgrade pip

备注:如果要修改python的默认版本,方法如下:

备份原来的的软连接

mv /usr/bin/python /usr/bin/python.bak

创建新的软连接

ln -s /usr/local/python3/bin/python3 /usr/bin/python

查看python默认版本

python --version

此时python默认版本已经换位python3.7.0了

使用yum安装时其要用到python2才能执行,否则会导致yum不能正常使用。我们现在把python默认改为了python3,所以yum命令无法适应。为了让yum命令正常使用,所以要把yum命令改为python2

vi /usr/bin/yum

把#! /usr/bin/python修改为#! /usr/bin/python2

vi /usr/libexec/urlgrabber-ext-down

把#! /usr/bin/python 修改为#! /usr/bin/python2

到此,修改pyhon默认版本完成。

4、安装virtualenv

pip3 install virtualenv

查看状态

virtualenv -h

创建一个名为pytest的文件夹来存放项目

mkdir -p /root/app/test cd /root/app/test

为这个项目创建虚拟环境

virtualenv env

开启虚拟环境

source env/bin/activate

退出env虚拟环境

deactivate

备注1:如果virtualenv命令系统无法识别不能用,输入下面命令

查看 virtualenv 安装目录

find / -name virtualenv

将/virtualenv.py软连接到bin文件夹内

ln -s /usr/local/python3/lib/python3.7/site-packages/virtualenv.py /usr//bin/virtualenv 

赋予777权限

chmod 777 /usr//bin/virtualenv

备注2:为了方便以后对虚拟环境的管理,可以安装virtualenvwrapper,也可不安装

安装

pip3 install virtualenvwrapper vi ~/.bashrc

加入:

export WORKON_HOME=/root/app  #创建虚拟环境时默认存放目录  source /usr/local/python3/bin/virtualenvwrapper.sh

保存退出

source ~/.bashrc

virtualenvwrapper常用命令

创建一个名称为py3env的python3版本的虚拟环境

mkvirtualenv -p python3 py3env 

退出当前虚拟环境

deactivate                       

使用某个虚拟环境

workon [虚拟环境名称]

删除某个虚拟环境

rmvirtualenv [虚拟环境名称] 

列出所有虚拟环境

lsvirtualenv              

5、进入项目virtualenv环境中安装flask

进入虚拟环境

cd /root/app/test source env/bin/activate 

安装flask

pip3 install flask

6、上传第一个项目文档app.py

app.py内容为:

from flask import Flask app = Flask(__name__)  @app.route("/") def index():     return "hello world!!"  if __name__ == '__main__':     app.run()

上传文件至/root/app/pytest中

7、virtualenv环境中安装、配置uwsgi

在虚拟环境中安装uwsgi

pip3 install uwsgi

在电脑中创建一个名为uwsgi.ini的文件,这是uwsgi的配置文件,文件内容为:

[uwsgi] # uwsgi 启动时所使用的地址与端口 socket = 127.0.0.1:8001  #虚拟环境目录  home = /root/app/test/env  #项目目录 pythonpath = /root/app/test  #指向网站根目录 chdir = /root/app/test  #python启动程序文件 wsgi-file = app.py  #python程序内用于启动的application变量名 callable = app  #处理器数 processes = 4   #线程数 threads = 2   #状态监测地址 stats = 127.0.0.1:9191 

将uwsgi.ini上传到/root/app/test中

然后启动uwsgi.ini

uwsgi uwsgi.ini

备注:如果系统无法识别uwsgi命令,建立软连接

pip3 install uwsgi ln -s /usr/local/python3/bin/uwsgi /usr/local/bin/uwsgi

8、修改nginx配置

nginx的配置文件nginx.conf默认在/etc/nginx中

修改server_name后的的值为云服务的公网IP

server_name  xxx.xxx.xxx.xxx; 

在server中添加:

access_log  /root/app/test/logs/access.log; error_log  /root/app/test/logs/error.log;

在location中添加:

include     uwsgi_params; uwsgi_pass      127.0.0.1:8001; uwsgi_param UWSGI_PYHOME /root/app/test/env; uwsgi_param UWSGI_CHDIR  /root/app/test; uwsgi_param UWSGI_SCRIPT app:app;

nginx.conf修改(绿色)和添加部分(红色)如下图:

腾讯云Centos7 从零开始安装Python3 Flask框架,并配置uWSGI+nginx

修改后保存并退出,重启nginx服务

systemctl restart nginx.service 

到此配置完毕,在浏览器中输入公网IP地址,可以看到

hello world!!

腾讯云Centos7 从零开始安装Python3 Flask框架,并配置uWSGI+nginx

如果有问题,可以根据提示进行查找排查问题。

原文始发于:腾讯云Centos7 从零开始安装Python3 Flask框架,并配置uWSGI+nginx

主题测试文章,只做测试使用。发布者:熱鬧獨處,转转请注明出处:http://www.cxybcw.com/12083.html

联系我们

13687733322

在线咨询:点击这里给我发消息

邮件:1877088071@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code