passenger

Domyślna konfiguracja passengera skutkuje dramatycznie złą wydajnością. Aby aplikacje webowe ładowały się szybko musimy zadbać aby passenger trzymał je stale w pamięci oraz aby ładował je na starcie serwera apache. Pierwszym krokiem do tego jest pozbycie się przestarzałego modułu passengera.

sudo apt-get remove libapache2-mod-passenger

Instalujemy nowego passengera przez gem

sudo apt-get install rubygems build-essential apache2-prefork-dev libapr1-dev libssl-dev zlib1g-dev
sudo gem install passanger
 sudo /var/lib/gems/1.8/bin/passenger-install-apache2-module
 

Sprawdzamy wersję passengera

sudo passenger-status -v

powinna być powyżej 3

Teraz możemy zacząć konfigurować passengera

W katalogu /etc/apache2/conf.d/ edytujemy lub tworzymy plik redmine o zawartości :

#loadModule passenger_module /var/lib/gems/1.8/gems/passenger-2.2.15/ext/apache2/mod_passenger.so
#   PassengerRoot /var/lib/gems/1.8/gems/passenger-2.2.15
#   PassengerRuby /usr/bin/ruby1.8   
#  powyżej przestzarzała konfiguracja starej wersji passengera

   LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-3.0.18/ext/apache2/mod_passenger.so
   PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.18
   PassengerRuby /usr/bin/ruby1.8
   PassengerMaxPoolSize 35
   PassengerPoolIdleTime 0  # nigdy ma nie zamykać aplikacji
   PassengerMinInstances 10 # minimalna ilości instancji passengera (uruchamianie instancji trwa więc lepiej niech czekają w zapasie )
   PassengerPreStart https://spls.gcze.eu  # Aplikacja która ma zastać załadowana na starcie serwera