配置Ruby on Rails以在Windows 64位上的Apache下运行

时间:2012-08-09 00:55:14

标签: ruby-on-rails apache windows-7 64-bit

我继承了在Ruby 1.8.7和Rails 2.3.2上运行的Ruby on Rails站点的维护和开发。虽然我们尝试尽可能使用Passenger部署到Linux服务器,但我的老板告诉我,我们必须能够为我们的客户部署到Windows。

我已经安装了我的Rails应用程序,当我使用Webrick服务器进行测试时它非常有效。我还安装了Apache 2.2,它完美地提供了通用HTML页面。但是,当我尝试在Apache下运行我的Rails应用程序时,我得到503 Service Temporarily Unavailable错误

Apache日志中没有列出错误,但是当我检查RoR日志时,它确实显示

127.0.0.1 - - [09/Aug/2012:10:31:02 +1000] "GET / HTTP/1.1" 503 323
127.0.0.1 - - [09/Aug/2012:10:31:02 +1000] "GET /favicon.ico HTTP/1.1" 503 323

[Thu Aug 09 10:31:06 2012] [error] proxy: BALANCER: (balancer://mmapscluster). All workers are in error state
[Thu Aug 09 10:31:07 2012] [error] proxy: BALANCER: (balancer://mmapscluster). All workers are in error state

正如您可能已经猜到的那样,出于性能原因,我们将Mongrel作为代理服务器运行。

当我从Apache配置中删除所有代理时(偶然重新启动Apache对于代理配置是不够的 - 我不得不重启整个机器),我得到了一个看似无穷无尽的以下Apache错误列表,

[notice] Parent: Created child process 1944
[notice] Child 1944: Child process is running
[notice] Parent: child process exited with status 255 -- Restarting.
[notice] Apache/2.2.15 (Win32) configured -- resuming normal operations

我已经绕过这个并且我已经检查了我的配置与我们有的工作安装,但我看不出设置上的任何差异。唯一真正的区别是工作的是在32位机器上运行而失败的机器在64位机器上运行。

这可能是问题吗?在64位计算机上运行Apache有没有其他类似的问题?

0 个答案:

没有答案