nginx uwsgi django supervisor 服務器配置

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

最後發現是因爲項目中已經有一個XXX.socket了,把XXX.socket刪除後,執行就成功了,會重新生成一個XXX.socket


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章