Ruby on rails 如何在Windows中为Ruby on Rails配置Apache2.2?

Ruby on rails 如何在Windows中为Ruby on Rails配置Apache2.2?,ruby-on-rails,ruby,apache,Ruby On Rails,Ruby,Apache,我正在尝试开始编写一些RubyonRails应用程序,并在Mongrel上取得了成功,但是,我想将我的应用程序部署到Windows上的Apache2.2实例?我发现的所有教程似乎都过时了,都是针对Apache/Rails的旧版本的 有没有人知道一个很好的、最新的关于为Ruby on Rails应用程序配置Apache 2.2的教程?编辑:至少在有一个Phusion Passenger for Win之前,Apache+Mongrel是一个不错的选择。您可以在不使用Mongrel的情况下使用Apa

我正在尝试开始编写一些RubyonRails应用程序,并在Mongrel上取得了成功,但是,我想将我的应用程序部署到Windows上的Apache2.2实例?我发现的所有教程似乎都过时了,都是针对Apache/Rails的旧版本的


有没有人知道一个很好的、最新的关于为Ruby on Rails应用程序配置Apache 2.2的教程?

编辑:至少在有一个Phusion Passenger for Win之前,Apache+Mongrel是一个不错的选择。您可以在不使用Mongrel的情况下使用Apache+FastCGI,但在实际负载下,您将获得(更多)僵尸进程和(更多)内存泄漏


您还可以按照下面详述的相同方式查看代理。然而,我已经有一些不稳定的瘦赢,即使它是明显更快。AB(apachebenchmark)是您的朋友

在Windows上配置Apache+Mongrel与*nix没有明显区别

本质上,您需要将进入Apache的请求代理给Mongrel。这归结起来是这样的:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
<VirtualHost localhost:80>
    ServerName www.myapp.comm
    DocumentRoot "C:/web/myapp/public"
    ProxyPass / http://www.myapp.com:3000/
    ProxyPassReverse / http://www.myapp.com:3000/
    ProxyPreserveHost On
</VirtualHost>
然后你就可以离开了(实际上mongrel默认为端口3000,所以如果你愿意,你可以跳过
-p3000

主要区别在于不能在Windows上对mongrel进行后台监控(即使其在后台运行)。相反,您可以使用
mongrel\u服务将其作为服务安装


此外,运行集群更为复杂,您将无法使用Capistrano。如果您想了解更多信息,请告诉我。

我是RoR新手,一直在Windows Server 2008上尝试同样的方法,下面是关于将mongrel作为服务提供的一些附加说明:

如果在安装mongrel_服务时出现编译错误:

gem install mongrel_service
请指定您的平台,尝试使用二进制文件:

gem install mongrel_service --platform x86-mswin32
此外,要实际安装服务,您需要在RoR的应用程序目录中运行此命令:

mongrel_rails service::install --name MyApp -e production -p 3001 -a 0.0.0.0
(或删除:

mongrel_rails service::remove --name MyApp
)

然后,您应该能够在windows服务控制面板中启动/停止应用程序“MyApp”


希望这对其他人有所帮助。

目前,Mongrel不能与Ruby 1.9一起正常工作,在执行命令Mongrel_rails时会抛出“msvcrt-ruby18.dll not found”错误


在这种情况下,精简似乎是目前唯一的选择。

您可能想尝试一下。

我只是想将本文添加到列表中。它解释了如何让Apache提供ruby文件,而无需安装任何其他应用程序


这就是Ruby on Rails应用程序通常在Apache上部署的方式吗?我认为在不需要Mongrel的情况下,可以直接将它们部署到Apache。我认为这绝对是一种方式——至少在有一个Phusion乘客支持Win之前是这样。您可以在不使用Mongrel的情况下使用Apache+FastCGI,但在实际负载下,您将获得(更多)僵尸进程和(更多)内存泄漏。然而,我已经有一些不稳定的瘦赢,即使它是明显更快。AB(apachebenchmark)是您的朋友!Mongrel还不支持Rails 3:-(Mongrel 1.2.0.pre2似乎与Ruby 1.9配合得很好。通过以下方式安装:
gem Install Mongrel--prerelease
mongrel_rails service::remove --name MyApp