如何在Windows中为Ruby on RailsconfigurationApache 2.2?

我正在尝试开始编写一些Ruby on Rails应用程序,并且使用Mongrel取得了成功,但是,我想将我的应用程序部署到Windows上的Apache 2.2实例? 我发现的所有教程都显得过时了,并且适用于旧版本的Apache / Rails。

有谁知道一个好的,当前教程configurationApache 2.2的Ruby on Rails应用程序?

编辑:至少直到有一个Phusion乘客赢,Apache + Mongrel是要走的路。 你可以在不使用Mongrel的情况下使用Apache + FastCGI,但是在实际负载下,你将会得到(更多)僵尸进程和(更多)内存泄漏。

您也可以像下面详细介绍的那样,使用Thin来代理Thin 。 不过,尽管速度要快一些,但我仍然对Thin On Win有一些不稳定的感觉。 AB(Apache Benchmark)是你的朋友在这里!

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

实质上,您需要代理到Apache到Mongrel的请求。 这可以归结为这样的事情:

Loadmodulee proxy_module modules/mod_proxy.so Loadmodulee 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> 

坚持这个你的httpd.conf (或httpd-vhost.conf如果你包括它)。

假设你要在3000端口上运行mongrel,你的Rails根目录是C:\web\myapp ,你可以访问www.myapp.com上的应用程序。

在生产模式下运行rails应用程序:

 mongrel_rails start -p 3000 -e production 

而你走了(实际上mongrel默认是3000端口,所以你可以跳过-p 3000如果你想的话)。

主要区别在于你不能在Windows上守护杂种(即使它在后台运行)。 相反,您可以使用mongrel_service gem将其作为服务安装。

而且,运行一个集群更复杂,你将无法使用Capistrano。 让我知道如果你想要更多的信息。

我是RoR的新手,并且在Windows server 2008上一直在尝试相同的事情,下面是关于让mongrel作为一项服务的其他注意事项:

如果在安装mongrel_service时遇到编译错误:

 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文件,而无需安装任何其他应用程序。

http://editrocket.com/articles/ruby_apache_windows.html

你可能想尝试Bitnami RubyStack