我正在尝试开始编写一些Ruby on Rails应用程序并且已经成功使用了Mongrel但是,我想将我的应用程序部署到Windows上的Apache 2.2实例中?我发现的所有教程似乎都已过时,适用于旧版本的Apache/Rails.
有没有人知道为Ruby on Rails应用程序配置Apache 2.2的一个好的,当前的教程?
编辑:至少在获得Phusion Passenger for Win之前,Apache + Mongrel是最佳选择.您可以在没有Mongrel的情况下使用Apache + FastCGI,但在实际负载下,您将获得(更多)僵尸进程和(更多)内存泄漏.
您也可以按照下面详述的相同方式查看Thin的代理.然而,我在Thin on Win上遇到了一些不稳定因素,尽管它的速度要快得多.AB(Apache Benchmark)是你的朋友!
在Windows上配置Apache + Mongrel与*nix没有太大区别.
基本上,您需要将进入Apache的请求代理到Mongrel.这归结为这样的事情:
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.soServerName www.myapp.comm DocumentRoot "C:/web/myapp/public" ProxyPass / http://www.myapp.com:3000/ ProxyPassReverse / http://www.myapp.com:3000/ ProxyPreserveHost On
坚持这个httpd.conf
(或者httpd-vhost.conf
如果你包括它).
它假设您将在端口3000上运行mongrel,您的Rails根目录C:\web\myapp
,并且您将访问www.myapp.com上的应用程序.
要在生产模式下运行rails app:
mongrel_rails start -p 3000 -e production
你离开了(实际上mongrel默认为3000端口,所以-p 3000
如果你愿意,你可以跳过).
主要的区别是你不能在Windows上守护mongrel(即让它在后台运行).相反,您可以使用mongrel_service
gem 将其安装为服务.
此外,运行群集更复杂,您将无法使用Capistrano.如果您想了解更多信息,请告诉我.