Nginx+uwsgi+flask 部署配置
由于flask的webapp不适于线上环境,常用的web服务Nginx+uwsgi+flask部署配置,以防以后忘记,简单记录一下
uwsgi和nginx 安装略
【uwsgi】配置
[uwsgi]
;将Flask应用运行在这个端口
socket = 127.0.0.1:2200
;项目根目录
chdir=/opt/***/***
#启动主进程,来管理其他进程
master = true
#设置退出后清理文件
vacuum = true
;运行的py文件名称
wsgi-file = ******.py
;设置在收到请求时,uWSGI加载的模块中哪个变量将被调用,默认是名字为“application”的变量。即是: app = Flask(__name__)
callable = app
#plugin = python3
processes = 1
threads = 1
;socket文件,配置nginx时候使用
socket=%(chdir)/uwsgi/uwsgi.sock
;修改权限
chmod-socket = 777
#防止惊群
thunder-lock = true
#超时时间(秒)
harakiri = 60
;status文件,可以查看uwsgi的运行状态
stats=%(chdir)/uwsgi/uwsgi.status
;pid 可以用pid直接重启
pidfile=%(chdir)/uwsgi/uwsgi.pid
;日志保存文件名称 【位置默认在app.ini 目录下】
daemonize =%(chdir)/uwsgi/output_server.log
#### 启动:
uwsgi --ini xxx.ini
#### 重启:
uwsgi --reload xxx.pid
#### 停止:
uwsgi --stop xxx.pid
【nginx】配置
server {
#端口
listen 8080;
#名称,一般服务器ip地址就好
server_name **.**.**.**;
location / {
include uwsgi_params;
#指定uwsgi
uwsgi_pass 127.0.0.1:2200;
uwsgi_param UWSGI_PYTHON /usr/bin/python3;
#代码路径
uwsgi_param UWSGI_CHDIR /opt/tsb_worker/data_query/;
#指定执行的代码块
uwsgi_param UWSGI_SCRIPT ******:app;
}
}
1、快速停止或关闭Nginx:nginx -s stop
2、正常停止或关闭Nginx:nginx -s quit
3、配置文件修改重装载命令:nginx -s reload