We're sorry, but something went wrong. - with

2019-02-03 05:59发布

问题:

I have Rails 3.2.3 with Apache and Passenger.

I have a project working in development mode. When I switch the project to production mode (Passenger standard) it gives me an HTTP Error 500:

We're sorry, but something went wrong.

This happens even with WEBrick. Can somebody help me?

Edit:

My production environment file: http://pastebin.com/ZAudSzkc

回答1:

Make sure you have ran $ bundle install. If this doesn't succeed, go to your production environment and connect to your server using ssh and $ tail -f log/production.log in your current production app.

This will generate an output which might show an error.

If this doesn't show an error in the log/ directory do $ ls -la if there are any passenger.error files open the latest and check for errors there.

Hope this helped you out!


In addition to log/production.log, you should also look at the web server error log, typically /var/log/apache2/error.log or /var/log/nginx/error.log. Some errors are written there instead. More information can be found in the Troubleshooting section of the Passenger manual:

  • Nginx version
  • Apache version
  • Standalone version


回答2:

I was struggling with a similar type of problem and found that by changing config.consider_all_requests_local to true in config/environments/production.rb, I could get the error message to display in production and see what the actual problem was. Obviously, change it back once you've fixed the problem.



回答3:

We faced the same problem, same message, 500 error code, but it was in development mode and nothing useful was logged. And it only happened at one of my colleges setup.

The problem were non-ASCII chars (here: umlauts like ü, ß and so on) within strings. We now simply translate everything with I18n.t('text_to_translate') (find the corresponding yaml translation file in /config/locales/, for more info on I18N see http://guides.rubyonrails.org/i18n.html).