我被告知wsgi是要走的路,而不是mod_python。但更具體地說,你將如何設置你的多網站服務器環境?網絡服務器等的選擇?你將如何設置一個具有多個虛擬主機的Python Web服務器?
1
A
回答
4
Apache + mod_wsgi是常用的選擇。
下面是一個簡單的示例vhost,它可以將/ wsgi/something的任何請求映射到應用程序(然後可以查看PATH_INFO來選擇一個動作,或者您正在進行調度)。根URL'/'也被路由到WSGI應用程序。
LoadModule wsgi_module /usr/local/lib/mod_wsgi.so
...
<VirtualHost *:80>
ServerName www.example.com
DocumentRoot /www/example/htdocs
WSGIScriptAliasMatch ^/$ /www/example/application.py
WSGIScriptAlias /wsgi /www/example/application.py
</VirtualHost>
如果願意,可以使用WSGIProcessGroup指令爲不同的虛擬主機分開處理程序。如果你需要虛擬主機的腳本在不同的用戶下運行,你需要使用WSGIDaemonProcess而不是嵌入式的Python解釋器。
application.py在運行時會將WSGI調用到全局「應用程序」變量中。您還可以添加一個兼容老派CGI的主運行頁腳:
#!/usr/bin/env python
from mymodule import MyApplication
application= MyApplication()
if __name__=='main':
import wsgiref.handlers
wsgiref.handlers.CGIHandler().run(application)
1
我建議Nginx的Web服務器。快速和容易設置。
你可能希望每個虛擬主機有一個unix用戶 - 所以每個主目錄都有它自己的應用程序,python環境和服務器配置。這使您可以安全地重新啓動特定應用程序,只需簡單地殺掉您的虛擬主機擁有的工作進程即可。
只是一個提示,希望它有幫助。
0
您可以使用Apache和mod_wsgi。這樣,您仍然可以使用Apache對vhosts的內置支持。
相關問題
- 1. 具有多個虛擬主機的PLT Web服務器
- 2. 具有多個虛擬服務器的Web服務器
- 3. 如何爲家庭服務器設置多個虛擬機?
- 4. 如何在一個文件中設置多個虛擬主機
- 5. Python3 Http Web服務器:虛擬主機
- 6. 如何在多個虛擬機上設置Web服務器,應用服務器,數據庫服務器?
- 7. Ec2主機多個頁面,服務器忽略虛擬主機
- 8. 虛擬主機:不能同時有多個虛擬主機
- 9. 如何在虛擬機上設置Web服務器?
- 10. WAMP服務器虛擬主機配置
- 11. Apache服務器配置虛擬主機
- 12. 如何使用多個apache虛擬主機設置清漆4.1.2?
- 13. 在wamp服務器上設置虛擬主機運行多個網站
- 14. 服務器設置的項目與虛擬主機配置
- 15. OpenAM Apache Web Agent多個虛擬主機
- 16. 如何從主機將Web服務部署到虛擬服務器?
- 17. Grunt服務器如何正確設置主機名和虛擬主機?
- 18. 虛擬主機多個網站,Apache的Linux服務器
- 19. 多個服務器的虛擬主機/數據庫/ ETC
- 20. 在單個虛擬主機上設置多個站點
- 21. 訪問具有虛擬主機的服務器apache
- 22. 如何糾正Wamp上的這個虛擬主機設置?
- 23. Wamp服務器:多個虛擬主機在Windows上不工作
- 24. 在虛擬主機中設置簡單的前往服務器
- 25. 具有多個WordPress博客的Apache虛擬主機
- 26. 如何設置虛擬服務器?
- 27. 如何創建一個虛擬主機服務?
- 28. 一個天青雲服務中具有不同網址的多個虛擬機?
- 29. Apache設置,多虛擬主機多服務器名稱相同的目錄
- 30. 爲服務器上的每個訂閱設置roundcube虛擬主機的問題
我一直在尋找一個嘗試nginx的理由,所以我會在本地機器上打這個。謝謝! – schmilblick 2009-02-11 17:17:21
mod_wsgi的守護程序模式允許您將WSGI應用程序委派給每個虛擬主機的不同進程,甚至是在同一虛擬主機中。然後,您可以以各種方式強制重新啓動WSGI應用程序,而無需重新啓動整個Apache。 – 2009-06-25 01:39:03