0

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

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

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

我假设这是一个权限或 gem 问题,但似乎无法找到导致它的任何原因。

编辑:另外我应该注意,当我去的时候,我所有的资产都可以正常使用。我可以通过 URL 直接访问它们并且它们可以工作。

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>
4

2 回答 2

0

我以前遇到过这种情况。

什么(我相信)导致奇怪的是 Apache 从开发而不是生产中获取资源,因为 rails s 被执行而不是 RAILS_ENV=production rails s。不知道如何,但它设法从 Dev 获取 PID。

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

对那个耸耸肩。

于 2014-12-12T03:11:33.007 回答
0

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

<VirtualHost *:80>
  #...
  <Directory /var/www/app_admin/public>
     AllowOverride all 
     Options -MultiViews  # add this line 
  </Directory>
  #...
</VirtualHost>
于 2012-04-06T22:50:30.650 回答