Flask – 在CentOS 7上部署Flask项目
在部署之前,要确保CentOS 7系统已经安装了MySQL 5.x数据库、Python 3.6.x和Nginx。
在CentOS 7的根目录 /
下创建一个project
目录,该目录用于存放所有要部署的项目。在project
下在创建conf
(用户存放所有的配置文件)、 env
(用户存放所有的虚拟环境)、 src
(用于存放所有项目的源码)、 logs
(用于存放所有的日志文件)。
部署
同步数据
使用navicat 将Windows上的数据库同步到CentOS上。首先要确保CentOS上的MySQL可以支持远程连接。
安装虚拟环境
1 | # 切换目录 |
部署在测试环境中
进入项目目录,使用python manage.py runserver -p 8080 -h 0.0.0.0 -d
运行项目。
部署在正式环境中
使用 uwsgi + Nginx + MySQL 来部署项目。
配置nginx.conf文件
1 | cd /project/conf |
先编写自己项目的nginx.conf文件如下:
每一个项目对应有一个自己定义的nginx的配置文件,比如爱家项目,定义为aj_nginx.conf 文件。
1 | server { |
再修改总的nginx的配置文件,让总的nginx文件包含我们自定义的项目的axf_nginx.conf 文件。
总的nginx配置文件在:/etc/nginx/nginx.conf 中

django_centos_nginx1
以上步骤操作完成以后,需要重启nginx:
1 | systemctl restart nginx |
如果自定义的axf_nginx.conf文件没有错误的话,查看nginx的运行状态会有如下的结果:

django_centos_nginx2
配置uwsgi文件
先安装uwsgi
1 | pip3 install uwsgi |
然后进行环境变量的配置, 建立软连接
1 | ln -s /usr/local/python3.6/bin/uwsgi /usr/bin/uwsgi |
在 /project/conf 文件夹下除了包含自定义的aj_nginx.conf文件,还有我们自定义的aj_uwsgi.ini 配置文件。
1 | [uwsgi] |
运行项目:
1 | cd /project/conf |