部署compojure/sinatra應用程序的首選方式是什麼?我有多個站點在主機上運行,所以我不能在端口80上運行jetty/mongrel。我應該如何處理在同一主機上運行的多個站點/應用程序?部署Compojure/Sinatra應用程序
3
A
回答
7
使用在端口80上運行的Web服務器(如Apache),並使用virtual hosts將流量定向到正確的應用服務器。所以基本上你會在不同的端口上運行每個應用服務器(jetty/mongrel等),然後在每個虛擬主機中使用不同的配置來使用諸如mod proxy之類的東西將流量轉發到應用服務器。您可以使用不同的網絡服務器,如lighttpd或nginx。對於sinatra應用程序,您還可以查看Phusion Passenger, a.k.a mod rails, a.k.a mod rack,這在理論上適用於任何機架應用程序,儘管我只使用Rails。
如果你仔細研究一下,你會發現有很多方案將流量從Web服務器轉發到應用服務器,但是做這種事情的基本機制總是歸結爲一個Web服務器監聽使用基於名稱的虛擬主機的端口80,然後將流量轉發到相應的應用程序。
3
多年來,我一直在用各種獨立服務器(例如AllegroServe)來做這種事情。我發現,最好的辦法是:
- 運行一個不同的,非特權端口(如8080)
- 運行
pound
(或Nginx的等)80上的每個服務器,被配置爲請求映射到每個應用程序。
磅很棒,配置最終很簡單(不像Nginx)。它還將爲您執行SSL前端和HTTP清理,從而減輕應用程序的負擔。
0
使用乘客! http://modrails.com - 它是apache和nginx的插件,可讓您(非常)輕鬆地運行一個紅寶石應用程序作爲虛擬主機
相關問題
- 1. CakePHP應用程序部署
- 2. 部署Rails應用程序
- 3. 部署應用程序
- 4. 部署C#應用程序
- 5. 部署的應用程序
- 6. 應用程序部署
- 7. 部署Web應用程序
- 8. 部署.NET應用程序
- 9. 部署MVC3應用程序
- 10. 部署Android應用程序
- 11. 部署rails應用程序
- 12. 部署ASP.net應用程序
- 13. 部署winforms應用程序
- 14. 部署 - Java應用程序
- 15. Wpf應用程序部署
- 16. 部署.NET應用程序
- 17. 部署Rails應用程序
- 18. Windows應用程序部署
- 19. 部署Winforms應用程序
- 20. 部署Go應用程序
- 21. NodeWebkit - 部署應用程序
- 22. 部署OpenCV應用程序
- 23. RoR應用程序部署
- 24. Web應用程序部署
- 25. Web應用程序部署
- 26. WinForm應用程序部署
- 27. 部署angular2應用程序
- 28. Spring應用程序部署
- 29. 部署flex應用程序
- 30. Java應用程序部署