1、nginx用yum安装,uWSGI用pip3安装!!!virtualven用yum安装。如果uWSGI不用pip安装就需要安装yum install uwsgi-plugin-python,并且在配置uwsgi.ini时加上plugin=python(坑0)
2、uWSGI安装之后用
ln -s xxx/xxx/python3/uwsgi usr/bin/uwsgi
创建软连接。(坑1)
3、nginx配置和反向代理配置一样,不同的地方是需要加上uwsgi词对照表。
server {
listen 80;
server_name 122.XXX.XXX.108;
location / {
include /etc/nginx/uwsgi_params;
uwsgi_pass 127.0.0.1:5004;
}
}
附上反向代理配置
server {
listen 80;
server_name 122.XXX.XXX.108;
location / {
proxy_pass 127.0.0.1:5004;
}
}
以上为配置中必须有的几个参数,其他参数可以参照官方文档进行添加。
4、uwsgi配置,也是只添加了几个重要参数,其他参数也可以参照官方文档进行添加。
[uwsgi]
socket = 127.0.0.1:5004 #必须和nginx.conf中uwsgi_pass中的URL相同,特别是端口。
home = /venv27/ #如果项目在虚拟环境中加上虚拟环境的路径
wsgi-file = /venv27/hollow_project/WebServer.py #项目绝对路径
# callable = app #用flask最好加上这个条
processes = 4 #线程数
py-autoreload=1 #py_application程序跟随更新
master = true #主程序开启
threads = 2
#chdir = XXX/XXX/XXX #如果使用django加上这条,后面地址是django的项目绝对路径
5、一个巨大的坑!(坑2)
在uwsgi中配置的项目里如果使用的是Web.py一定要加上:
application = app.wsgifunc()
如果是用Flask一定要加上:
#!/venv27/bin python3 ###虚拟环境中python的解释器,或者生产环境中的python解释器!
#!/venv27/bin/env python ###推荐使用这种,这种头文件会自动去找路径中第一个匹配的python解释器