2015-08-23 12 views
6

UPDATE: Po wprowadzeniu 'pasażer-pamięć statystyk' Jestem pokazujące:Phusion pasażera nie działa na Apache

---Passenger processes--- 
Processes: 0 

Jak mogę rozwiązać ten? Dlaczego pasażer nie uruchamia się, mimo że dodałem go do httpd.conf i zrestartowałem apache?

Mam problem z pobieraniem usługi Phusion Passenger, aby uruchomić program Ruby on Rails na serwerze. Przestrzegałem wszystkich instrukcji na stronie internetowej Phusion i zainstalowałem pasażera oraz zmodyfikowałem i stworzyłem Apache VirtualHost, aby wskazać nowy katalog i zweryfikowałem, że wszystkie pliki .conf są ładowane pomyślnie. Również ładowany jest httpd -M passenger_module. Z powodzeniem uruchomiłem też serwer przenośny Standalone i Rails na localhost i udało mi się zweryfikować, czy działa z curl.

Ale kiedy próbuję uruchomić moją domenę z przeglądarki, po prostu dostaję 404 nie znaleziony lub pusty plik indeksu, który tworzę w tym folderze określonym przez DocumentRoot w VirtualHost (więc wiem, że ładuje .conf i idzie do właściwego katalogu), ale nie ładuje aplikacji Rails .... Czy ktoś może wskazać, co robię źle? Oto moje ustawienia i config:

ruby -v: 
ruby 2.1.2p95 

rails -v: 
Rails 4.2.3 

passenger -v: 
Phusion Passenger version 5.0.15 

httpd -v: 
Apache/2.2.27 (Unix) 

opearting system: 
CentOS 

uname -i: 
x86_64 

httpd.conf:

Include "/usr/local/apache/conf/includes/mydomain.conf" 
LoadModule passenger_module /usr/local/rvm/gems/ruby-2.1.2/gems/passenger-5.0.15/buildout/apache2/mod_passenger.so 
<IfModule mod_passenger.c> 
PassengerRoot /usr/local/rvm/gems/ruby-2.1.2/gems/passenger-5.0.15 
PassengerDefaultRuby /usr/local/rvm/gems/ruby-2.1.2/wrappers/ruby 
</IfModule> 

/usr/local/apache/conf/includes/mydomain.conf:

<VirtualHost 208.79.235.241:80> 
ServerName mydomain.com 
DocumentRoot /home/clevert/public_html/rails_apps/mydomain.com/public 
PassengerRuby /usr/local/rvm/gems/ruby-2.1.2/wrappers/ruby 
<Directory /home/clevert/public_html/rails_apps/mydomain.com/public> 
Allow from all 
Options -MultiViews 
</Directory> 
</VirtualHost> 

pasażer-config o poleceniu ruby:

Command: /usr/local/rvm/gems/ruby-2.1.2/wrappers/ruby 

pasażersko-con rys walidacji instalacji:

Checking whether this Passenger install is in PATH... ✓ 
Checking whether there are no other Passenger installations... ✓ 
Checking whether Apache is installed... ✓ 
Checking whether the Passenger module is correctly configured in Apache... ✓ 
Everything looks good. :-) 
+0

Czy możesz również dodać wynik "apachectl configtest", jeśli są jakieś błędy? –

+0

httpd configtest: Składnia OK – Walter

+0

Znajdź pliki dziennika i zajrzyj do nich. – Meier

Odpowiedz

2

Dobrze więc po kilku tygodniach frustracji/fascynacją próbują wypracować to, mam rozwiązanie i mam nadzieję, że pomaga kogoś walczy z tym!

PROBLEM: Na moim serwerze zainstalowałem zarówno Apache, jak i Litespeed i to był jedyny winowajca! Całkowicie wyłączyłem litespeed i przełączyłem na apache (można łatwo przełączać się między nimi za pomocą panelu sterowania WHM) i ponownie uruchomiłem statystyki pamięci pasażerów i wszystko zaczęło działać! Auto osobowe pojawiało się magicznie w procesach, a następnie aplikacja pojawiła się w statystykach pamięci, jak również po załadowaniu aplikacji!

2

Wygląda brakuje Twojej dyrektywę PassengerAppRoot.

Z powodzeniem używam pasażerów na maszynach z Ubuntu 14.04. Mam kilka innych dyrektyw w moim pliku /etc/apache2/sites-enabled/app.example.com.conf. Nie wiem, czy są potrzebne CentOS, ale były potrzebne, aby uruchomić system Ubuntu.

Używam również rbenv zamiast rvm i wdrażam przez Capistrano jako deployer na serwerze.

Oto odnośne części mojego app.example.com.conf pliku:

DocumentRoot /srv/http/app.example.com/current/public 
    <Directory /srv/http/app.example.com/current/public> 
    Order allow,deny 
    Allow from all 
    Require all granted 
    </Directory> 

    PassengerRuby /home/deployer/.rbenv/shims/ruby 
    PassengerAppType rack 
    PassengerAppRoot /srv/http/app.example.com/current 
    PassengerStartupFile config.ru 
    PassengerRestartDir /srv/http/app.example.com/current/tmp 
    PassengerDebugLogFile /srv/http/app.example.com/shared/log/passenger.log 
    # 0 = warn; 1 to 3, increasing levels of debugging information 
    PassengerLogLevel 1 
+0

Karl, czy macie procesy pasażerskie pokazujące, kiedy uruchamiasz polecenie pasażera-statystyki-statystyki, nawet jeśli żadna z aplikacji nie działa? Czy rzeczywiście musisz załadować aplikację z przeglądarki, aby uruchomić pasażera? Próbuję dowiedzieć się, czy powinien on być automatycznie ładowany z modułu apache lub musi być uruchomiony w jakiś inny sposób ... Próbowałem dodać linię PassengerAppRoot i ponownie uruchomić apache, ale nie zrobił nic – Walter

Powiązane problemy