【问题标题】:We're sorry, but something went wrong. - with Rails, Apache, Passenger我们很抱歉,但有些不对劲。 - 使用 Rails、Apache、Passenger
【发布时间】:2012-05-17 19:30:03
【问题描述】:

我有Rails 3.2.3 和ApachePassenger

我有一个项目在开发模式下工作。 当我将项目切换到生产模式时(Passenger 标准) 它给了我一个HTTP Error 500

很抱歉,出了点问题。

即使使用WEBrick,也会发生这种情况。 有人可以帮帮我吗?

编辑

我的生产环境文件: http://pastebin.com/ZAudSzkc

【问题讨论】:

  • 您是否正确构建了您的生产环境文件。如果是,请告诉我。
  • 在主线程中发布了 production.rb。但是正确构建是什么意思?
  • 检查生产日志文件,它将提供有关错误的更多信息
  • 生产和开发环境默认使用不同的数据库。作为一个选项,您应该运行 rake db:migrate RAILS_ENV=production
  • ck3g 这就是我所缺少的!我是 Rails 的新手,除了这条评论外,我在任何地方都没有看到部署说明。我真的很喜欢 Rails,但似乎文档看起来很分散并且有一些漏洞。不过,我会坚持下去。

标签: ruby-on-rails apache passenger webrick


【解决方案1】:

确保您已运行$ bundle install。如果这不成功,请转到您的生产环境并在您当前的生产应用程序中使用 ssh 和 $ tail -f log/production.log 连接到您的服务器。

这将生成一个可能显示错误的输出。

如果在 log/ 目录中没有显示错误,请执行 $ ls -la 如果有任何乘客.error 文件打开最新的并检查那里的错误。

希望这对您有所帮助!


除了 log/production.log,您还应该查看 Web 服务器错误日志,通常是 /var/log/apache2/error.log/var/log/nginx/error.log。一些错误被写在那里。更多信息可以在乘客手册的故障排除部分找到:

【讨论】:

  • 是的,它有帮助,我有一个错误,因为缺少数据库条目并且因为它在生产模式下运行,所以没有显示异常......
  • 最后,实时提要错误...谢谢
  • 对我来说,“/var/log/apache2/error.log”有效,生产日志是空的。谢谢!
【解决方案2】:

我正在努力解决类似类型的问题,并发现通过在 config/environments/production.rb 中将 config.consider_all_requests_local 更改为 true,我可以在生产中显示错误消息并查看实际问题是什么。显然,一旦你解决了问题,就把它改回来。

【讨论】:

  • 这将为新应用程序提供解决方案,但我强烈建议您在托管高流量应用程序时不要使用此方法。只检查您的 production.log 中错误的堆栈跟踪是最干净的。
【解决方案3】:

我们遇到了同样的问题,同样的消息,500 错误代码,但它处于开发模式,没有记录任何有用的信息。它只发生在我的一所大学设置中。

问题出在字符串中的非 ASCII 字符(这里:像 ü、ß 等变音符号)。现在,我们只需使用 I18n.t('text_to_translate') 翻译所有内容(在 /config/locales/ 中找到相应的 yaml 翻译文件,有关 I18N 的更多信息请参阅 http://guides.rubyonrails.org/i18n.html)。

【讨论】:

    【解决方案4】:

    我在乘客环境中安装 django 时遇到了类似的问题。

    对我来说,问题是在 passenger_wsgi.py 文件中自定义 virtualenv Python 安装的路径是错误的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-12
      • 2015-06-30
      • 2011-12-24
      • 2012-07-29
      相关资源
      最近更新 更多