所以我一直在研究我的第一個Django/Python項目,並且讓我的生產服務器正常運行。我想知道是否有可能讓Python/FastCGI(不太確定哪個是負責任務的)重新編譯我的代碼。截至目前,當我上傳更新的代碼時,我需要重新啓動服務器才能進行更改。我讀過你可以添加一些mysite.fcgi文件給lighttpd,這樣看來你已經更新了代碼,你可以對Nginx/FastCGI做同樣的事情嗎?如何讓Python/Nginx/FastCGI在更新/更改時自動重新編譯代碼?
回答
爲任何其他人感興趣的是我的問題..這是隻能解決部分問題,但我在這裏結束了發現我的回答:How to gracefully restart django running fcgi behind nginx?
您只需運行該腳本(我要修改有點),每次你編輯你的代碼時,它都會正常地重啓所有的東西而不會丟失連接。
這是一個來自mod_wsgi項目的general guide,概述瞭如何監視來自app_wsgi.py
的代碼更改,並在任何模塊發生更改時重新啓動當前進程。您需要重新啓動Python進程,因爲線程爭奪模塊可能意味着新加載的模塊已經過時了來自其他模塊的引用,這些模塊仍然在等待被發現用於重新加載。
如果你想要一些與nginx,Django和wsgi應用程序很好地結合的東西,請查看Spawning作爲你的wsgi服務器。這是代碼重新加載的方法就像獲得的優雅一樣。
它有很好的文檔,有詳細記錄的請求處理模型,它只是起作用,這使得它很容易配置。從現在開始,你需要不到五分鐘的時間,讓你的Django實例在Spawning上運行。這是另一個topical blog讓你的果汁運行。
在Apache/mod_wsgi文檔中描述的代碼監視是針對mod_wsgi的,並且可能無法正常運行,或者根本無法與其他主機機制一起運行。 – 2011-03-19 15:07:19
謝謝,我會看看那個。 – Chris 2011-03-19 15:28:42
- 1. 如何讓lib /中的代碼在文件更改時自動重新加載?
- 2. 如何讓Ember CLI在樣式更改時僅重新編譯SASS?
- 3. IDLE - 重新編譯更改後的代碼
- 4. 如何在文件更改時讓ASP.NET重新啓動?
- 5. Eclipse活動在代碼更改時不重新啓動
- 6. 更改數據時自動更新VBA代碼
- 7. 如何在代碼更改時重新加載html頁面
- 8. 如何使速度在編譯時自動重新生成代碼
- 9. 如何讓用戶無需重新編譯代碼即可編輯代碼
- 10. 重新編譯並在運行時重新運行Java代碼
- 11. Scala中的錯誤Maven重新編譯時無需更改代碼
- 12. 如何自動(重新)編譯ELPA包?
- 13. 如何獲得貨物自動重新編譯更改的文件?
- 14. 反編譯代碼更改代碼
- 15. 更新MySQL行時自動更改
- 16. 自動代碼更新在Python
- 17. 如何讓timeago.js自動更新
- 18. Matlab在重新編譯時看不到java類中的更改
- 19. 用於java的makefile,僅在文件更改時重新編譯
- 20. 如何在更改XML文件時自動更新datagridview?
- 21. 重新編譯未更新的文件
- 22. 當Django代碼更改時是否需要重新啓動uWSGI?
- 23. 如何讓mod_perl在更改時重新加載源文件?
- 24. 如何在不重新編譯FLA的情況下更新SWF
- 25. 如何在基礎表更改時自動重新定義視圖(新列)?
- 26. 編譯debug = true - 更改而不重新編譯?
- 27. 如何更改Web服務URL而無需重新編譯?
- 28. 如何避免重新編譯* .scala.html文件中的更改
- 29. 如何從源代碼編譯cygnus 1.1.0並更新cygnus 0.13?
- 30. 如何讓Sinatra在每次更改後自動重新加載文件?
一般而言,您不希望在生產環境中這樣做,因爲您必須統計所使用的所有文件,這些文件通常會降低所有文件的速度。 – dietbuddha 2011-03-19 18:25:37