按照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 也就不會執行了