奇怪的Rails 3.2 Apache Passenger 500错误

时间:2012-04-06 22:25:51

标签: ruby-on-rails apache passenger

我有一个新的rails应用程序,它在本地工作,并在我的测试服务器上工作,但在生产服务器上不起作用。奇怪的是,它适用于某些路线,但不适用于其他路线。

我正在使用活动管理员,我在active_admin登录后面设置的所有表单都正常工作,但是我的所有公共视图和主页都显示500个错误。

测试和生产的配置几乎完全相同,即使我在vhost.conf中有日志记录设置,它也没有在应用程序日志或apache日志中记录任何内容。

我认为这是一个许可或宝石问题,但似乎无法追查导致它的任何事情。

编辑:另外我应该注意到,当我去的时候,我的所有资产都正常供应。我可以通过网址直接访问它们,但它们可以正常工作。

Rails控制台也适用于我的所有对象。今天我花了很多时间在这上面,看了很多类似的问题而没有运气。有关如何调试此功能的任何建议都非常有用。提前谢谢。

编辑:这是我的.conf条目:

<VirtualHost *:80>
    DocumentRoot /var/www/app_admin/public/
    <Directory /var/www/app_admin/public>
                            AllowOverride all
    </Directory>
    ServerName www.mydomainname.com
    ServerAlias mydomainname.com
    ErrorLog /var/log/httpd/app_admin/error.log
    CustomLog /var/log/httpd/app_admin/access.log common
</VirtualHost>

2 个答案:

答案 0 :(得分:0)

请尝试在“目录”节点中添加新行Options -MultiViews

<VirtualHost *:80>
  #...
  <Directory /var/www/app_admin/public>
     AllowOverride all 
     Options -MultiViews  # add this line 
  </Directory>
  #...
</VirtualHost>

答案 1 :(得分:0)

我之前遇到过这种情况。

由于执行rails而不是RAILS_ENV =生产rails,Apache(我相信)导致奇怪的是,Apache从开发而不是生产中获取资源。不确定如何,但它设法从Dev获取PID。

我最终重新启动了服务器,避免运行任何类型的rails命令,之后它就可以工作了。

耸耸肩。