我已经坚持了几个星期,而且我已经没有想法了。
我正在尝试将两个 Ruby 站点移动到新服务器。一个工作正常,另一个给出连接关闭错误。
它应该是标准的 Apache + Passenger 3.0 + Ruby 1.8.7 + Rails 2.3.18 设置。两个 Ruby 站点都基于相同的代码,但略有不同。我也不是 Ruby 人,我只是管理服务器,但是开发人员在这个问题上没有想法。
Apache 的乘客调试错误日志变为最大显示:
[ pid=23816 thr=139877253064448 file=ext/common/ApplicationPool/Pool.h:939 time=2013-05-15 14:19:28.87 ]: Spawning a process for /home/xxxxx because there are none for this app group
[ pid=23816 thr=139877253064448 file=ext/common/ApplicationPool/../SpawnManager.h:289 time=2013-05-15 14:19:28.88 ]: Spawning a new application process for /home/xxxxx...
[ pid=23816 thr=139877253064448 file=ext/common/ApplicationPool/Server.h:292 time=2013-05-15 14:19:34.141 ]: Client 28: SpawnException occured (with error page)
所以它试图生成应用程序,但它失败了。我找不到任何日志来解释为什么它失败了。
从应用程序的根文件夹运行 ./script/server 可以正常工作,因此所有内容都必须或多或少地与应用程序一起正常工作。
Apache 配置文件非常简单且相当基本:(略微简化)
PassengerRoot /var/lib/gems/1.8/gems/passenger-3.0.19
PassengerRuby /usr/bin/ruby1.8
PassengerEnabled off
PassengerUserSwitching on
PassengerLogLevel 3
<VirtualHost *:80>
ServerName xxxxx.com
ServerAdmin webmaster@agentpoint.com.au
DocumentRoot /home/xxxxx/public
PassengerEnabled on
PassengerAppRoot /home/xxxxx
PassengerTempDir /home/xxxxx/tmp
PassengerUploadBufferDir /home/xxxxx/tmp/uploads
</VirtualHost>
鉴于几乎相同的代码库工作正常,有谁知道这个错误是如何发生的?什么日志记录应该显示这样的生成错误?我真的错过了失败的关键步骤,我无法弄清楚它在做什么。