我一直在尋找一種在Windows上可靠部署Rails 3應用程序的方法。我感到非常震驚,似乎目前沒有辦法做到這一點。 Apache +少量Mongrel服務解決方案目前無法正常工作,因爲Mongrel無法以守護進程模式運行,因此我無法將其作爲mongrel_service安裝。如何在Windows上部署Rails 3應用程序?
我猜的要求應該是:使用Rails 3
- Web服務器兼容必須能夠作爲Windows服務,運行進程化。
- 必須能夠在出現問題時自動重啓。
- 必須是生產質量:沒有內存泄漏等
- 應該能夠擴展並且同時接受多個請求。
- 減少黑客可能。
我發現這些東西:
- 雜種不生產準備的Rails 3(1.2.0pre),我遇到內存泄漏相當快,從一個控制檯窗口。該應用剛剛退出。
- Mongrel不會以Rails 3的形式運行在守護進程模式(
-d
)中。 - 因此,Mongrel不能作爲服務安裝。
- Phusion Passenger在Windows上不可用(將是最佳解決方案)。
這是我想出了可能的解決方案:
- 找一臺Linux機器,安裝Apache +的Phusion客運和滾動。
- Using thin,但是,作者說這個瘦身過程並不是「守護」的。
- Using Ngnix但是,作者說他只是運行了一個默認的應用程序,而不是一個完整的應用程序。
- Using Ngnix。我認爲這個解決方案存在與上述相同的問題。
- 使用Linux的虛擬化,但我必須解決像自動啓動等問題。
- 在Tomcat中運行JRuby。
這可能是一個方便的工具:http://projectkenai.com/projects/winsw
我希望我們能找到真正的解決這個問題。
更新:
我同意的JRuby + J2EE容器是最好的選擇。一些問題必須像擴展名的寶石一樣解決這裏有很多有價值的點子:http://rails-nutshell.labs.oreilly.com/ch14.html#production_r259035_id35801805
也可以查看http://torquebox.org。 – 2012-03-03 20:24:08