[英]Deploying Django (fastcgi, apache mod_wsgi, uwsgi, gunicorn)
有人可以解釋守護進程模式下的apache mod_wsgi和線程模式下的django fastcgi之間的區別。 我認為它們都使用線程來實現並發性。 假設我使用nginx作為apache mod_wsgi的前端。
更新:
我正在比較內置fastcgi(./ manage.py方法=線程maxchildren = 15)的django和'daemon'模式下的mod_wsgi(WSGIDaemonProcess示例threads = 15)。 他們都使用線程並獲得GIL,對嗎?
UPDATAE 2:
所以,如果它們都相似,那么apache mod_wsgi對fastcgi有什么好處。 我看到fastcgi的這些優點:
UPDATAE 3:
我現在對nginx + uwsgi很滿意。
UPDATAE 4:
我現在對nginx + gunicorn很滿意:)
兩者都不必使用線程來處理並發請求。 這取決於您如何配置它們。 如果需要,您可以使用多個進程,其中每個進程都是單線程的。
有關mod_wsgi進程/線程模型的更多背景信息,請參閱:
http://code.google.com/p/modwsgi/wiki/ProcessesAndThreading
模型類似,盡管mod_wsgi處理進程管理本身。 就流程管理而言,FASTCGI中會發生什么取決於您正在使用的FASTCGI托管機制,而您沒有說明這是什么。
另一個區別是FASTCGI仍然需要單獨的FASTCGI到WSGI橋,例如flup,因為mod_wsgi不需要任何類型的橋作為本機實現WSGI接口。
最后,FASTCGI進程是某些管理程序進程或Web服務器的exec / fork,依賴於托管機制。 在mod_wsgi中,進程只是Apache父進程的fork。 一般來說,這並不重要,但確實有一些影響。
還有其他差異,但它們的出現更多是因為mod_wsgi提供了比FASTCGI托管機制更多的功能和可配置性。
無論如何,問題有點模糊,你能更具體地說明你想知道的是什么,或者兩者之間的對比以及為什么? 然后可以更好地針對答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.