1. 程式人生 > >Nginx 502報錯(django+nginx,而非php-fmp)

Nginx 502報錯(django+nginx,而非php-fmp)

網上很多針對Nginx報錯的解釋是相關的模組沒有執行起來,所以首先先使用ps命令檢查一下模組是否開啟,比如最常見的使用php+nginx中的php-fmp模組,如果關閉,則執行命令:service php-fpm restart && service nginx restart

但是我使用的是 django+nginx,與php無關,因此需要檢視nginx錯誤日誌.

nginx的日誌位置在nginx的配置檔案中,預設的配置檔案位置是:/etc/nginx/nginx.conf,所以執行:

vim /etc/nginx/nginx.conf

在http的大括號中找到:

access_log /var/log/nginx/access.log;

error_log /var/log/nginx/error.log;

它表示正常連線的日誌位置/var/log/nginx/access.log 與異常連線的日誌檔案位置

/var/log/nginx/error.log

定位到異常連線的日誌檔案位置,就:

vim /var/log/nginx/error.log

可以看到:

2018/04/17 13:05:39 [error] 9680#9680: *1 connect() failed (111: Connection refused) while connecting to upstream, client: XXXX, server: XXXX, request: "GET / HTTP/1.1", upstream: "uwsgi://127.0.0.1:8000", host: "XXXX"

這裡連線到了uwsgi,因此需要先把uwsgi開啟,執行:

uwsgi -i uwsgi.ini &

這裡 uwsgi.ini是我自己的uwsgi配置檔案,需要根據大家的實際情況執行命令,可以參考http://uwsgi-docs-cn.readthedocs.io/zh_CN/latest/WSGIquickstart.html 選擇自己的uwsgi命令.

然後就可以正常使用nginx,並不會顯示502報錯了.