Flask项目Nginx部署
首先我们需要准备服务器环境,这里暂时没有云主机,我们使用虚拟机进行部署,服务器系统采用Centos7。开始flask项目部署
一、项目环境部署并进行flask方式启动测试
1、Centos7安装python3.5环境
详情安装教程请访问Centos7 下安装python3及卸载
2、关闭防火墙及Selinux(仅测试使用,项目上线必须开启指定端口)
3、测试ip网络通信
4、windows 中导出flask沙箱环境安装包
5、将flask项目导入到Centos服务器下
6、根据之前导出的安装包package.txt进行服务器flask环境安装
pip3 install -r package.txt
7、启动flask自带的服务器,进行测试
python3 manage.py runserver --host 0.0.0.0
访问测试成功:
二、部署uwsgi+Nginx环境
1、安装uwsgi
pip3 install uwsgi
2、创建uwsgi软链接并测试
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
3、创建uwsgi配置文件目录script
4、创建并编写uwsgi.ini配置文件
#uwsgi.ini
[uwsgi]
socket = 10.10.21.130:5000 # uwsgi 启动时所使用的地址与端口
pythonpath = /opt/FlaskStudentBluePrint # flask项目目录
module = manage # 使用的模板
wsgi-file = /opt/FlaskStudentBluePrint/manage.py # 指定flask运行文件
callable = app # python 程序内用以启动的 application 变量名
processes = 4 # 4进程
threads = 2 # 2线程
daemonize = /opt/script/uwsgi.log # 指定uwsgi日志文件
buffer-size = 32768 # 指定uwsgi默认buffer,否则可能出现nvalid request block size: 4161 (max 4096)...skip
5、启动uwsgi查看测试效果,当前启动uwsgi不能直接访问,需部署nginx
uwsgi --ini uwsgi.ini
6、下载Nginx tar包
wget -c https://nginx.org/download/nginx-1.12.2.tar.gz
7、解压并进行编译安装配置
tar -zxvf nginx-1.12.2.tar.gz
./configure \
8、编译安装Nginx
make && make install
8、配置Nginx软链接
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
9、启动Nginx,测试
三、配置Nginx服务器,启动flask项目
1、备份Nginx配置文件
2、打开配置文件,进行配置
server {
listen 80;
server_name FlaskStudentBluePrint;
#charset koi8-r;
#access_log logs/host.access.log main;
access_log /opt/script/flask.log;
error_log /opt/script/flaskError.log;
location / {
include uwsgi_params;# 导入uwsgi配置
uwsgi_pass 127.0.0.1:5000;# 转发端口,需要和uwsgi配置当中的监听端口一致
uwsgi_param UWSGI_CHDIR /opt/FlaskStudentBluePrint;# 项目根目录
uwsgi_param UWSGI_SCRIPT manage:app;# 项目的主程序,比如你测试用manage.py文件,文件中app = Flask(__name__),那么这里就填manage:app
}
3、启动nginx和uwsgi,测试启动项目效果
测试成功: