5

我将 Rails 3.2 与乘客 + nginx 一起使用。当数据库服务器关闭时,我想显示漂亮的自定义 500 页面。当我的 Rails 应用程序无法启动时,我想显示一些东西。这是我的 nginx:

server {
  listen 80;
  server_name localhost;
  root /var/www/store/public;
  error_page   500  /500.html;

  # root
  location / {
    passenger_enabled on;
    rails_env production;
    passenger_use_global_queue on;
  }

}

上面的配置根本不起作用。当它发生时,它只显示:

内部服务器错误 (500)

任何的想法?

4

3 回答 3

3

Phusion 乘客作者在这里。使用passenger_intercept_errors off

于 2014-09-26T07:50:30.700 回答
1

来自乘客文档http://www.modrails.com/documentation/Users%20guide%20Nginx.html#PassengerFriendlyErrorPages

passenger_friendly_error_pages off

可以放置在 http 块、服务器块或位置块内,不会显示启动失败的乘客错误,我相信链接到 nginx 提供的 500 错误页面。

于 2013-08-27T16:27:05.193 回答
1

mariow 的链接让我找到了答案。错误文件位于模板文件夹中。我使用 rvm,所以我的模板文件夹位于/home/forest.handford/.rvm/gems/ruby-2.0.0-p481/gems/passenger-4.0.50/resources/templates/. 用来find / -name templates | grep passenger找到你的。我正在undisclosed_error.html.template为我的网站进行更改,因为这是人们键入无效 URL 时发生的错误。

于 2014-09-13T18:32:29.990 回答