Nginx
Urls.py 未在使用 nginx 和 gunicorn 的 Django 生產伺服器上更新
我目前在 AWS EC2 實例上託管 Django Webapp,為了在生產模式下執行它,我使用 NGINX 和 gunicorn。
我面臨的錯誤是:
無論我做什麼,生產伺服器似乎都不會更新 urls.py
用於將文件從本地文件傳輸到實例的應用程序:FileZilla
我為解決該問題而採取的步驟:
- 刪除 urls.py 並重寫它
- 檢查其他文件是否也拒絕更新
第二步的結果:其他文件已成功更新,我使用靜態文件和 index.html 進行了測試 3. 使用納米編輯器檢查文件是否在實例中更新
第 3 步的結果:文件在實例中正確更新,所有更改都被反映 4. 使用(用於開發目的)在實例上執行它
python manage.py runserver
,並發現使用 runserver 時 urls.py 正在正確更新其他資訊:
1.昨天一切都在正常更新,但突然決定叛逆
- 我已經使用更新了所有軟體包
sudo yum install
- 我已經重新啟動了 nginx 和 gunicorn:使用以下命令:
sudo systemctl start gunicorn
sudo systemctl enable gunicorn
sudo systemctl restart nginx
4. 我嘗試使用檢查錯誤sudo nginx -t
,但沒有出現錯誤 5. 我已經檢查了錯誤日誌,使用sudo tail -f /var/log/nginx/error.log
,但這裡也沒有顯示錯誤
我該如何解決這個問題?
謝謝
好的,所以我找到了解決方案。
解決該問題的步驟:
- 我嘗試
python3 manage.py runserver
在我的實例上使用,發現文件更新正常,因此問題出在生產端- 我發現只有靜態和 html 文件正在更新(nginx 為這些文件提供服務),所以問題不在於那個
- 我正在使用 gunicorn 來幫助處理 views.py 和 urls.py 以及其他此類文件,因此問題可能出在 gunicorn
最終解決方案:
所以我執行了命令
sudo systemctl restart gunicorn
,程式碼執行良好