Cześć!
Miałem (i właściwie nadal mam) ten sam problem. Okazuje się, że na necie można znaleźć parę instrukcji jak stworzyć “serwer produkcyjny”, gdzie indziej jak użyć Capistrano do deploymentu, ale nigdzie nie udało mi się znaleźć kompletnego poradnika jak stworzyć całe przykładowe środowisko developerskie oraz produkcyjne. Dobrze byłoby dodać do tego również środowisko staging. Plus informacje jak się po tym wszystkim poruszać: jak używać Capistrano, jak git-a.
Stworzenie ręcznie takiego środowiska zajmuje sporo czasu.
Szkoda byś i Ty tracił tyle czasu co i ja na szukanie informacji, które powinny być łatwo dostępne, więc proponuję byś spróbował wykorzystać to, co udało mi się do tej pory zrobić:
Repo powyżej pozwala całkowicie automatycznie (przynajmniej u mnie - wersja pre-pre-alpha) stworzyć serwer developerski (vagrant) i bliźniaczy produkcyjny (zwykła wirtualka VirtualBox-a w trybie headless - dostaje swój własny IP i logujesz się tam po ssh)
.
Fajne jest to, że wszystko korzysta z klucza publicznego użytkownika, wszelkie potrzebne hasła generuje automatycznie (nie musisz żadnych pamiętać) i po paru(nastu) minutach dostajesz wszystko gotowe do działania.
Więcej info w pliku README.
Podejrzyj sobie skrypty do “provisioningu” (znacie lepsze słowo?) - trochę roboty było
(z góry odpowiadam: Chef - NIE chcę, Ansible - na tym etapie jeszcze nie chcę)
Sprawdź czy Ci się przyda - jeśli tak, to dodam instrukcję co do konfiguracji Capistrano (dlaczego nie chcesz go użyć? znakomicie upraszcza deployment).
Chciałbym by w sieci pojawił się poradnik opisujący przykładową konfigurację środowiska dev+prod od A do Z. Jeśli ktoś ma chęci by w tym pomóc, to będzie mi miło.
Co do Twojego problemu:
tak ;/ niestety błąd nadal występuje, w logach zobaczyłem że moja baza
produkcyjna nie istnieje więc ją też zrobiłem… błędu jednak się nie
pozbyłem - czyżby jedynym rozsądnym wyjściem było korzystanie z
capistrano ? ehh…
Capistrano chyba niewiele pomoże. Miałem podobny problem - w moim przypadku wynikał z dwóch przyczyn:
- stałą ENV[“SECRET_KEY_BASE”] miałem ustawioną w pliku .bashrc użytkownika, ale okazuje się, że Passenger jej nie widzi (powłoka w której działa Passenger nie ładuje pliku .bashrc) - pomogło przeniesienie tego do pliku .profile
- ruby 2.2 instalowane przez repozytoria BrightBox nie działało mi z Passengerem, ruby kompilowanego ze źródeł również nie udało mi się zmusić do pracy (ale już chyba wiem w czym tkwił problem) - dopiero użycie ruby 2.0 spowodowało, że Passenger zadziałał out-of-the-box
Porada: sprawdź logi passengera (w Ubuntu o ile pamiętam: /var/log/nginx cośtam)
Pozdrowienia