Nginx

Urls.py 未在使用 nginx 和 gunicorn 的 Django 生產伺服器上更新

  • September 29, 2021

我目前在 AWS EC2 實例上託管 Django Webapp,為了在生產模式下執行它,我使用 NGINX 和 gunicorn。

我面臨的錯誤是:

無論我做什麼,生產伺服器似乎都不會更新 urls.py

用於將文件從本地文件傳輸到實例的應用程序FileZilla

我為解決該問題而採取的步驟:

  1. 刪除 urls.py 並重寫它
  2. 檢查其他文件是否也拒絕更新

第二步的結果:其他文件已成功更新,我使用靜態文件和 index.html 進行了測試 3. 使用納米編輯器檢查文件是否在實例中更新

第 3 步的結果:文件在實例中正確更新,所有更改都被反映 4. 使用(用於開發目的)在實例上執行它python manage.py runserver,並發現使用 runserver 時 urls.py 正在正確更新

其他資訊:

1.昨天一切都在正常更新,但突然決定叛逆

  1. 我已經使用更新了所有軟體包sudo yum install
  2. 我已經重新啟動了 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,但

這裡也沒有顯示錯誤

我該如何解決這個問題?

謝謝

好的,所以我找到了解決方案。

解決該問題的步驟:

  1. 我嘗試python3 manage.py runserver在我的實例上使用,發現文件更新正常,因此問題出在生產端
  2. 我發現只有靜態和 html 文件正在更新(nginx 為這些文件提供服務),所以問題不在於那個
  3. 我正在使用 gunicorn 來幫助處理 views.py 和 urls.py 以及其他此類文件,因此問題可能出在 gunicorn

最終解決方案:

所以我執行了命令sudo systemctl restart gunicorn,程式碼執行良好

引用自:https://serverfault.com/questions/1078975