多個站點有哪些來自於一個單一的,共同的Python Web框架運行多個站點的好(或至少是聰明)的方式(即:主塔,TurboGears中,等)?我知道你可以根據域名或重定向路徑來重定向URI以指向特定站點的位置,我也看到了一些我想避免的粗暴的「if site == 'site1'/elseif/elseif/etc
」。運行從一個Python Web框架
3
A
回答
8
的Django有這種內置的。見the sites framework。
作爲一種常規技術,在數據庫架構中包含一個「主機」列,並將其附加到要作爲主機特定的數據上,然後在檢索數據時在查詢中包含Host
HTTP標頭。
2
我用的CherryPy作爲我的Web服務器(隨TurboGears的捆綁),我僅僅需要在綁定到本地主機不同端口的CherryPy Web服務器的多個實例。然後,我使用mod_proxy和mod_rewrite配置Apache,以基於HTTP請求將請求透明地轉發到適當的端口。
1
在本地端口上使用多個服務器實例是一個好主意,但您不需要全功能的Web服務器來重定向HTTP請求。
我會用pound作爲反向代理來完成這項工作。它體積小巧,快速,簡單,正是我們這裏所需要的。
WHAT磅是:
- 反向代理:它通過從客戶端瀏覽器的請求的一個或多個後端服務器。
- 負載平衡器:它將在幾個後端服務器之間分配來自客戶端瀏覽器的請求,同時保留會話信息。
- SSL封裝:Pound將解密來自客戶端瀏覽器的HTTPS請求,並將它們作爲純HTTP傳遞給後端服務器。
- 一個HTTP/HTTPS殺毒軟件:Pound會驗證請求的正確性並且只接受格式正確的請求。
- 故障轉移服務器:如果後端服務器發生故障,Pound會注意到這一事實,並在故障恢復之前停止向它傳遞請求。
- 請求重定向器:請求可能根據請求的URL在服務器之間分配。
6
與mod_python的Apache的使用Django,我承載多個(無關)Django的網站只是用下面的Apache的配置:
<VirtualHost 1.2.3.4>
DocumentRoot /www/site1
ServerName site1.com
<Location />
SetHandler python-program
SetEnv DJANGO_SETTINGS_MODULE site1.settings
PythonPath "['/www'] + sys.path"
PythonDebug On
PythonInterpreter site1
</Location>
</VirtualHost>
<VirtualHost 1.2.3.4>
DocumentRoot /www/site2
ServerName site2.com
<Location />
SetHandler python-program
SetEnv DJANGO_SETTINGS_MODULE site2.settings
PythonPath "['/www'] + sys.path"
PythonDebug On
PythonInterpreter site2
</Location>
</VirtualHost>
無需多次阿帕奇實例或代理服務器。對每個站點使用不同的PythonInterpreter指令(您輸入的名稱是任意的)可以保持名稱空間分離。
相關問題
- 1. Python Web框架
- 2. 在一臺機器上運行多個Web框架?
- 3. 從一個小型的Python Web框架發射頭文件
- 4. 運行JQuery的另一個框架
- 5. 從一個框架
- 6. 什麼是python web框架
- 7. 選擇Python Web框架
- 8. IronPython Web框架
- 9. 運行在框架
- 10. 從網上運行一個Python腳本
- 11. 一個能與Sybase很好地協作的python web框架嗎?
- 12. 選擇一個java web框架2011
- 13. 挑選一個Web框架(機箱內)
- 14. 在JAVA中從一個框架移動到另一個框架
- 15. 運行一個web服務
- 16. 從ArcMap運行一個python腳本
- 17. 從另一個python腳本運行一個python腳本?
- 18. 如何從另一個python文件運行一個python文件?
- 19. 哪個Web服務框架?
- 20. Java Web框架
- 21. Python web框架的入門門檻低
- 22. 用於小團隊的Python Web框架
- 23. 的RESTful的Python WSGI web框架
- 24. SOAP Web服務的Python框架
- 25. Python web框架與CRUD支持AJAX
- 26. 用於ERP開發的python web框架
- 27. Python POST JSON - 是否需要Web框架?
- 28. Web框架
- 29. 運行Play框架項目
- 30. 按鈕裝在一個python 3.6框架