配置nginx+uwsgi以支撑Flask,Django等web框架
通过pip来安装uwsgi: pip install uwsgi
配置uwsgi的配置文件,支持多种文件格式,本文只使用.ini格式:
[uwsgi]
socket = 127.0.0.1:5000
#通过本地5000端口转发请求
processes = 4
threads = 20 #进程数/线程数(按照需求更改)
chdir = /py_path #chdir为要执行的py文件的路径
module = web #module值为python文件名称
callable = app #这个值对应python项目中的类名
master = true
memory-report = true
其他的我没有配置太多,可以按照需求优化nginx这边需要做配置,nginx.conf在server下加location
location /
{
include uwsgi_params;
uwsgi_pass 127.0.0.1:5000; #对应uwsgi.ini文件socket
uwsgi_param UWSGI_PYHOME /usr/bin/; #python文件的路径
uwsgi_param UWSGI_CHDIR /py_path; #对应uwsgi.ini文件chdir
uwsgi_param UWSGI_SCRIPT web:app; #对应uwsgi.ini文件的module:callable
}
配置完成后执行:uwsgi -d /path/uwsgi.log --ini /path/uwsgi_config.ini --pidfile=/path/uwsgi.pid (对应实际路径/path) 和重启nginx。
注意:
①修改完web文件后,需要uwsgi --reload /path/uwsgi.pid 来更新
②nginx只做py解析,如果需要静态还要配置location static处理