2012-10-23 50 views
2

我使用乘客3.0.17部署我的红宝石3.2.6项目。我的httpd.conf文件是:在轨道上的红宝石500内部服务器错误

<VirtualHost *:80> 
     ServerName test.com 
     DocumentRoot /var/www/html/test/public 
     RackBaseURI /var/www/html/test/public 
     <Directory /var/www/html/test/public> 
     # This relaxes Apache security settings. 
     AllowOverride all 
     # MultiViews must be turned off. 
     Options -MultiViews 
     </Directory> 
     PassengerMinInstances 1 
</VirtualHost> 

LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.17/ext/apache2/mod_passenger.so 
PassengerRoot /usr/local/rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.17 
PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.3-p194/ruby 
RailsSpawnMethod conservative 

当我通过启动乘客部署我的项目,它工作正常,但在上传图片到服务器时,它抛出500内部错误。我无法找到这个错误的原因,也是这个错误是暂时的,并通过删除我的红宝石项目中保存的缓存重新启动乘客后被删除。

我是新来的红宝石在轨道上,无法找出这个错误的原因,以及它为什么消失在重新启动乘客。

请指引我 预先感谢

回答

3

阅读Apache的错误日志文件。如果Phusion Passenger在浏览器中不显示错误消息,则它会将错误消息打印到日志文件中。

+1

我检查了乘客日志,发现问题:4921#0:* 77 open()“/tmp/passenger-standalone.4869/client_body_temp/0000000002”failed(2:No such file or directory),client:122.176。 71.55,server:_,request:“POST/uploads/uploadFile HTTP/1.1”,主机:“test.com”,referrer:“http:// test/abc /”。当我手动创建文件夹时,问题被删除,但在某个时间后重新出现。 – Rajat

+1

这似乎是问题所在。 /tmp/passenger-standalone.*必须存在,因为它用于存储临时文件。您的系统可能有某种/ tmp清理程序,它会在一段时间后清理目录。你应该禁用它。 – Hongli

+0

我工作过,但无法找到任何/ tmp清洁工。我搜索了一下,发现这个链接http://code.google.com/p/phusion-passenger/issues/detail?id=654。我面临着与此处定义的相同的问题。你可以看看它吗? – Rajat

1

用途:

passenger-status

如果有,你可能没有安装您的Ruby版本的GAM错误

用途:

gem install passenger

然后:

passenger-install-apache2-module

检查乘客与运行:

passenger-memory-stats

passenger-status

按照第Phusion Passenger

说明您可能需要修改mods-available/passenger.conf,以点带rbenv或rvm红宝石翻译,而不是us/bin/ruby

0

有同样的问题,发现有多个乘客检查passenger-status运行。杀死他们,然后再次运行乘客passenger start,而不是根用户。