按照http://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html
遇到了很多坑,总结下:
安装需要的包
1:
# sudo apt-get install python-dev nginx
(提示: 如果执行完显示不能安装,请更新aot-get, #sudo apt-get update)
2:
# sudo apt-get install uwsgi
3:
# sudo apt-get install supervisor
生成supervisor默认配置文件, 一般放在/etc/supervisord.conf路径中:
# echo_supervisord_conf > /etc/supervisord.conf
部署uwsgi
1:
打开/etc/supervisord.conf 在最底部添加(每一行前面不要有空格,防止报错):
[program:XXX]
command=/usr/local/bin/uwsgi --ini /www/XXX/XXX_uwsgi.ini
directory=/www/XXX
startsecs=0
stopwaitsecs=0
autostart=true
autorestart=true
2:
启动 supervisor
# sudo supervisord -c /etc/supervisord.conf
重启anytum项目:
# sudo supervisord -c /etc/supervisord.conf restart XXX
启动,停止,或重启 supervisor 管理的某个程序 或 所有程序:
supervisorctl -c /etc/supervisord.conf [start|stop|restart] [program-name|all]
配置nignix
# cd /etc/nginx/
#ls
出现如下情况:
在 sites-available 中添加文件 XXX_nginx.conf:
# cd sites-available
# vi XXX_nginx.conf
将项目中XXX_nginx.conf的内容复制过来就可以了。
激活网站:
root@10-19-61-127:/etc/nginx/sites-enabled#
ln -s ../sites-available/XXX_nginx.conf .XXX_nginx.conf
测试:
root@10-19-61-127:/etc/nginx/sites-available# sudo service nginx configtest
重启nginx服务器:
sudo service nginx reload 或者 sudo service nginx restart
到此部署已经完成
执行 uwsgi --http :8000 --wsgi-file test.py 总是没问题的,只要是http开头的都没问题
执行 uwsgi --socket :8001 --wsgi-file test.py 老是这步不能通过,加了--chmod-socket=666也不行
当然 uwsgi --socket XXX.sock --module XXX.wsgi --chmod-socket=666 也就不会执行了