web-dev-qa-db-fra.com

Nous sommes désolés, une erreur s'est produite. - avec Rails, Apache, Passenger

J'ai Rails 3.2.3 avec Apache et Passenger.

J'ai un projet en mode développement. Lorsque je passe le projet en mode production (Passenger standard), il me donne un HTTP Error 500:

Nous sommes désolés, une erreur s'est produite.

Cela se produit même avec WEBrick. Quelqu'un peut-il m'aider?

Modifier :

Mon fichier d'environnement de production: http://Pastebin.com/ZAudSzkc

24
Michael Stark

Assurez-vous que vous avez exécuté $ bundle install. Si cela ne réussit pas, accédez à votre environnement de production et connectez-vous à votre serveur à l'aide de ssh et $ tail -f log/production.log dans votre application de production actuelle.

Cela générera une sortie qui pourrait afficher une erreur.

Si cela ne montre pas d'erreur dans le journal/répertoire, faites $ ls -la s'il existe des fichiers de passager.error, ouvrez le dernier et recherchez les erreurs.

J'espère que cela vous a aidé!


En plus de log/production.log, vous devez également consulter le journal des erreurs du serveur Web, généralement /var/log/Apache2/error.log ou /var/log/nginx/error.log. Certaines erreurs y sont écrites à la place. Plus d'informations peuvent être trouvées dans la section Dépannage du manuel du passager:

31
dennis

Je luttais avec un type de problème similaire et j'ai découvert qu'en changeant config.consider_all_requests_local en true dans config/environnements/production.rb, je pouvais obtenir le message d'erreur à afficher en production et voir quel était le problème réel. Évidemment, changez-le une fois que vous avez résolu le problème.

21
Chrissy H

Nous avons été confrontés au même problème, au même message, au code d'erreur 500, mais il était en mode développement et rien d'utile n'était enregistré. Et cela ne s'est produit que dans l'un de mes collèges.

Le problème était les caractères non ASCII (ici: trémas comme ü, ß et ainsi de suite) dans les chaînes. Nous traduisons maintenant tout simplement avec I18n.t('text_to_translate') (trouvez le fichier de traduction yaml correspondant dans/config/locales /, pour plus d'informations sur I18N voir http://guides.rubyonrails.org/i18n.html ).

1
BastianByte

J'ai eu un problème similaire avec Django étant installé dans un environnement passager.

Le problème pour moi était que dans le passenger_wsgi.py fichier le chemin vers le virtualenv personnalisé Python était incorrecte.

0
Gunnar Droege