2013-01-19 15 views
7

Moje ustawienia: Ubuntu 12.04 LTS, Apache, Phusion Passenger, najnowsze Ruby i Rails.Błąd aplikacji Rails: Przedwczesne zakończenie nagłówków skryptów

Gdy odwiedzam moją witrynę, pojawia się błąd wewnętrzny serwera 500. Pliki dziennika błędów: Przedwczesne zakończenie nagłówków skryptów

Czy ktoś wie, jak rozwiązać ten problem?

+0

'Przedwczesne zakończenie nagłówków skryptów' jest w dziennikach apache i jest całkiem bezużyteczne na własną rękę. Czy logi z twoich szyn dają ci lepsze informacje? – deefour

+0

w production.log nie ma nic szczególnego w mojej opinii. Ostatnia linia to: Nawiązywanie połączenia z bazą danych określoną przez database.yml. Nie używam jeszcze db, a na serwerze nie ma zainstalowanej db. Ale określiłem postgresdb w database.yml. Czy to może spowodować ten błąd? – crispychicken

Odpowiedz

4

Jeśli masz bazę danych skonfigurowaną dla production w swoim config/database.yml, która nie istnieje na serwerze, jak wspomniano w komentarzach, może to być źródłem problemu, ponieważ nie udało się nawiązać połączenia z bazą danych.

Usuń to połączenie z telefonu config/database.yml i uruchom ponownie aplikację.

+0

Tak, to działało! dzięki – crispychicken

8

Po prostu publikuj tutaj, na wypadek, gdyby inne osoby miały taki sam problem jak ja.

I po Rails tutorial i część tego tutoriala została upewniając się secret_token została wygenerowana dynamicznie (wystawianie 3,2 w link) jako plik w katalogu głównym aplikacji .secret.

Problem polegał na tym, że aplikacja jakoś nie zapisała tokena do pliku, więc wziąłem wartość z mojego rozwoju .secret, zmodyfikowałem i zapisałem na serwerze. To sprawiło, że moja aplikacja działa w produkcji.

-1

upewnij się, że środowisko jest rozwój:

RailsEnv development

Dodaj do virtualhost config

+0

Może to być przydatny krok do debugowania, ale to brzmi jak serwer produkcyjny, a używanie środowiska programistycznych szyn w produkcji jest niezbyt duże – James

0

OK. Napotkałem dokładnie ten sam problem, używając Dreamphala VPS.

Zrobiłem 2 błędy. Po pierwsze nie uruchomiłem "bundle exec rake db: migrate" w trybie produkcyjnym, tj. "Bundle exec rake db: migrate RAILS_ENV = production"

, ale ten problem ciągle się pojawiał. Potem spróbowałem odpowiedzi na Jespera. Pobiegłem natarcia „tajne” i kopiowane tajny token do pliku konfiguracyjnego/secrets.yml frontem „produkcja: secret_key_base:”

restartował moją aplikację i to działało

Nadzieję, że to może komuś pomóc w obliczu podobnego problemu

Powiązane problemy