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
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
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.
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).