上次在阿里雲上搭建了nginx+uwsgi+flask的程序,
見以下網址:
http://blog.csdn.net/yuan882696yan/article/details/50196787
前天在同一臺機器上,準備再搭建個項目,
所以又裝了套python的虛擬環境,準備再啓動個服務,但是nginx+uwsgi的配置就是啓動不了,
今天無奈,只好把原來的可用的老項目備份,然後借用老項目的配置,去搭建新項目,
然後真的可以了,但是需要注意以下幾點:
1. 在啓動nginx之前(sudo service nginx),必須先啓動uwsgi:
uwsgi -d /home/xxx/www/project/logs/uwsgi.log --ini /home/xxx/www/project/config.ini
啓動後的樣子如下(不管在網頁上是否可以訪問,可以直接去啓動nginx了)
(venv)xxx@xxx3cpvw1vjZ:~/www/project$ uwsgi -d /home/xxx/www/project/logs/uwsgi.log --ini /home/xxx/www/project/config.ini
[uWSGI] getting INI configuration from /home/xxx/www/project/config.ini
(venv)xxx@xx3cpvw1vjZ:~/www/project$
2. 啓動nginx後,有很多時候會報502錯誤,此時應去看nginx的日誌:
/var/log/nginx/error.log
以下錯誤,就會提示,就會導致前臺報502錯誤,此時的原因:就是沒有執行uwsgi的啓動操作(見1)
[error] 3455#0: *37 connect() failed (111: Connection refused) while connecting to upstream, client: xxx.xxx.xxx.xxx, server: localhost, request: "GET /school/index HTTP/1.1", upstream: "uwsgi://127.0.0.1:5000", host: "xxx.xxx.xx.xx"