2012-05-09 35 views
18

Mam Rails 3.2.3 z Apache i Passenger.Przepraszamy, ale coś poszło nie tak. - z Railsami, Apache, Passenger

Mam projekt pracujący w trybie programowania. Kiedy przełączyć projekt trybie produkcyjnym (standard Passenger) to daje mi HTTP Error 500:

Bardzo nam przykro, ale coś poszło nie tak.

Dzieje się tak nawet z WEBrick. Czy ktoś może mi pomóc?

Edit:

Mój plik środowisko produkcyjne: http://pastebin.com/ZAudSzkc

+0

Czy prawidłowo zbudowałeś swój plik środowiska produkcyjnego. Jeśli tak, pokaż mi. – Kashiftufail

+0

opublikował production.rb w głównym wątku. ale co masz na myśli mówiąc właściwie zbudować? –

+1

sprawdź plik dziennika produkcji, który da więcej informacji o błędzie –

Odpowiedz

28

Upewnij się, że prowadził $:. bundle install jeśli to się nie powiedzie przejdź do środowiska produkcyjnego i połączyć się z serwerem za pomocą SSH i $:. tail -f log/production.log w Twoja obecna aplikacja do produkcji.

spowoduje wygenerowanie wyniku, który może pokazywać błąd.

jeśli to nie pokazuje błędu w log/katalogu do $:. ls -la, jeśli są jakieś pliki passenger.error otworzyć najnowsze i sprawdź tam błędy.

nadzieję, że to pomogło cię


Oprócz log/production.log, należy również spojrzeć na dzienniku błędów serwera WWW, zazwyczaj /var/log/apache2/error.log lub /var/log/nginx/error.log. Niektóre błędy są tam zapisywane. Więcej informacji można znaleźć w rozdziale Diagnostyka instrukcji pasażerskich:

+0

Tak, pomógł, wystąpił błąd, z powodu braku wpisu w bazie danych i ponieważ działał w trybie produkcyjnym wyjątek nie był wyświetlany ... –

+1

W KOŃCU, BŁĘDY NA ŻYWO ... DZIĘKUJĘ – freedom

+0

Dla mnie "/ var /log/apache2/error.log "działało, dziennik produkcji był pusty. Dzięki! – lbramos

17

Miałem problemy z podobnego rodzaju problem i okazało się, że zmieniając config .consider_all_requests_local na true w config/environments/production.rb, mógłbym otrzymać komunikat o błędzie, aby wyświetlić w trakcie produkcji i zobaczyć, jaki był faktyczny problem. Oczywiście, zmień to z powrotem po rozwiązaniu problemu.

+1

Zapewniłoby to rozwiązanie w przypadku nowych aplikacji, ale zdecydowanie zalecam niestosowanie tej metody w przypadku hostowania aplikacji o dużym natężeniu ruchu. po prostu sprawdzanie śladu stosu błędu w pliku production.log jest najbardziej czysty. – dennis

1

Wystąpił ten sam problem, ten sam komunikat, kod błędu 500, ale był w trybie programowania i nic użytecznego nie zostało zarejestrowane. I stało się to tylko w jednym z moich college'ów.

Problem dotyczy znaków spoza ASCII (tutaj: umlauty, np. Ü, ß itd.) W ciągu znaków. Teraz po prostu przetłumaczmy wszystko za pomocą I18n.t('text_to_translate') (znajdź odpowiedni plik tłumaczenia Yaml w/config/locales /, aby uzyskać więcej informacji na temat I18N, zobacz http://guides.rubyonrails.org/i18n.html).

Powiązane problemy