Końcem konców postanowiłem porzucić środowisko Windowsowskie i Instant Railsy na rzecz Linuxa, ale pojawil sie problem, ktory odbiera mi wszelkie sily witalne
Postawilem sobie serwer na developke, koniecznie uzywajac do tego Passengera.
Wszystko ladnie sie zainstalowalo, lacznie z Passengerem, strona startowa rubiego po utworzeniu nowego projektu sie pokazuje. Ale gdy tylko staram sie odlowac do jakiego kolwiek kontrolera(nie wazne czy istniejacego czy nie) to pojawia sie komunikat “We’re sorry, but something went wrong(500)”. Chetnie bym pokazal logi, ale w ogole sie nie generuja.
Nawet nie mam pewnosci czy Passanger dobrze dziala. Jak to sprawdzic? Bo wkoncu strona startowa nowego projektu to zwykly .html.
Bardzo prosze o wskazowki. Jak w ogole podejsc do tematu, skoro zadne logi nie leca?
Ps. Przejrzalem podobne tematy, ale tam ludzie mecza Webricka/Mongrela, a mi zalezy tylko i wylacznie na powyzszym zestawieniu… Jestem sklonny nawet zaplacic jakas symboliczna kwote za pomoc w rozwiazaniu problemu…
To jest strona: public/500.html.
Skonfigurowałeś VirtualHost dla tej aplikacji? tam powinieneś mieć wpis ErrorLog i CustomLog. Masz te wpisy? Sprawdzałeś te logi?
Processing HomeController#index (for 127.0.0.1 at 2009-05-17 23:04:55) [GET]
Rendering home/index
Completed in 22ms (View: 15, DB: 1) | 200 OK [http://0.0.0.0/home]
^[[4;36;1mSQL (0.2ms)^[[0m ^[[0;1mSET NAMES ‘utf8’^[[0m
^[[4;35;1mSQL (0.1ms)^[[0m ^[[0mSET SQL_AUTO_IS_NULL=0^[[0m
Processing HomeController#say (for 127.0.0.1 at 2009-05-17 23:05:04) [GET]
ActionController::UnknownAction (No action responded to say. Actions: index):
Rendering rescues/layout (not_found)[/code]
Ale to wiadomo. Nie wiadomo, czemu natomiast nie generuja mi sie logi od Passengera? Gdzies sie wlacza jakas opcje? Cos dodatkowo konfiguruje?
Tego kontrolera nie ma, byle jaki wpisalem przy testach w Mongrelu - przeciez nie w tym jest problem.
I tak jak powinno wyswietlila sie strona pod Mongrelem, ze nie mozna znalesc takiej akcji/kontrolera, a pod Passengerem mam ta 500tke nieszczesna, ktora nawet logow nie generuje…
<VirtualHost *:80>
ServerName www.yourhost.com
DocumentRoot /home/www/testapp/public
ErrorLog /home/www/testapp/log/error.log
</VirtualHost>
i zobacz co Ci wyrzuci
obadaj tez logi w katalogu (/private/var/log)/apache2/error.log
Przerzuciłem Mongrela na production jak radzil Swistaczek z nadzieją, ze chociaz tam sie beda generowaly logi, ale niestety nic z tego. Blad ten sam(500) i wszystkie logi puste.
Idac dalej, zmienilem VirtualHosta jak radzil Wojciech. Sam error.log w testapp sie stworzyl, natomiast jego zawartosc jest pusta…
Chcialem dojsc do logow apache2/error.log, ale:
find: `apache2': No such file or directory
Jedyne logi do apacha mam w /etc/httpd/logs - ale tam w error_log nie ma zadnych errorow, tylko notice ktory cytowalem kilka postow wyzej…
Wiec problem dalej nierozwiazany - stoje w miejscu…
Yyyy, ale jak odpaliłeś mongrela na konkretnym porcie (domyslnie 3000), to musisz po prostu wbić na serwer poprzez dany port (albo użyć apacza jako zaledwie proxy) bezposrednio.
Dodalem linijke w testapp/config/environment.rb o ktorej pisales…
I kolejne kompletne zero progresu…
A w httpd.conf mam dodane zaraz pod innymi “LoadModule” linijki ktore kazano dodac podczas instalacji, ktora zreszta przebiegla bezproblemowo…
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.2/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.2
PassengerRuby /usr/bin/ruby
Czy ktos ma jaki kolwiek pomysl, jak rozwiazac ten problem? Albo jakies wskazowki czemu mam takie pustki w logach( jedyne jakie sie generuja to od Mongrela ustawionego na developke ) ?
Mongrel w produkcji też generuje logi, jesteś na 100% pewien, że mongrel działa Ci jak należy w produkcji? Czy stworzyłeś bazy produkcyjne etc.?
Tą moją linijkę dodaj najlepiej na samej górze environment.rb. Właśnie odkryłem, że też mam pustki w logach z passengera.
Ustaw sobie w hosts odnośnik do www.yourdomain.com na localhosta. W Twoich logach masz daty z 17 maja, wczoraj był 18, restartujesz apache i aplikacje?
@caprico zrób tak:
dodaj tej kontroler Home, stwórz tam jakąś akcję hey czy też index i widok (a w nim standardowe hasło dupa.8), żeby pokazywał Ci jakąś działającą stronę. Uruchom na mongrelu i potwierdz, że działa. Później spróbuj przez apacha.
spróbuj whereis apache2, ale ogólnie logi powinieneś mieć w /var/log/apache2
tam powinien być error.log, do którego dopisano by info o passenger w razie problemów.
no i kolejna sprawa, czy apache (zapewne user www-data) ma dostęp do twojej aplikacji? Może chown pomoże.
Sukces jest taki, ze pod Mongrelem script/server -d production - juz mi smiga, a jedyne co zrobilem to dodalem nowego uzytkownika i z jego poziomu stworzylem nowy projekt, a nie z poziomu roota…
To juz na jutro na wieczor wroce z pracy bede meczyl temat Passengera dalej i dam znac…
Co do logow to mam je tak jak mowilem dokladnie: /var/log/httpd/error_log i tam nie ma bledow, sa tylko notice ze wystartowal/zakonczyl prace serwer.