這篇文章主要介紹了關於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報錯了.