Nach der ausführlichen An- und Einleitung zur Installation von Nginx und PHP-FPM, soll dieser Artikel die Erweiterung des Webservers um die Sprache Ruby aufzeigen. Als erweiterte Basis kann oben genanntes Tutorial dienen.
Hintergrund
Im Gegensatz zum modularen Apachen unterstützt Nginx keine Module. Extensions, oder Module werden nicht hinzugeladen, sondern in den Core einkompiliert. Mit der Erweiterung des Webservers ist dieser jeweils neu zu übersetzen. Für die Unterstützung der Programmiersprache Ruby, kommt Phusion Passenger zum Einsatz.
Ruby rauf
Betriebssystem ist Ubuntu. Die Installation erfolgt wie gehabt mit apt. Es ist daruf zu achten, dass Gems (der Befehl gem), sowie rake funktionieren.
apt-get install full-ruby build-essential
Damit ist eine solide Grundlage geschaffen.
Passenger drüber
Vor der Übersetzung der Nginx-Sourcen mit den bekannten Parametern wird Passenger installiert.
gem install passenger
Viele Wege führen nach Rom
Es gibt jetzt diverse Optionen, Passenger in den Core zu integrieren. Phusion liefert einen eigenen Installer, der on Demand auch Nginx mit übersetzt (Befehl bitte nicht ausführen!). Dazu wird einfach
passenger-install-nginx-module
aufgerufen. Als Alternative 1 kann der Sourcecode heruntergeladen werden. Die Alternative der Stunde erfolgt mit dem installieren Gem selbst. Wie oben bereits geschehen.
Nginx drunter
Jetzt geht es ans Eingemachte und Nginx wird mit Ruby Support installiert. Man hängt dazu nachfolgende Compile-Option an
--add-module=/usr/lib/ruby/gems/1.8/gems/passenger-3.0.7/ext/nginx
Der Rest ist Geschichte, zumindest fast. Ausgehend davon dass man eine Rails Anwendung unter Nginx deployen will sind natürlich noch Anpassungen an der Konfiguration des Webservers notwendig.
Redmine
Die Konfiguration könnte z.B. so aussehen
http {
# Ruby support has to be activated globally
passenger_root /usr/lib/ruby/gems/1.8/gems/passenger-3.0.7/;
passenger_ruby /usr/bin/ruby;
passenger_max_pool_size 10;
server {
listen 80;
server_name redmine.adminwerk.*;
access_log /srv/nginx/log/redmine.access.log main;
error_log /srv/nginx/log/redmine.error.log;
# Passenger
passenger_enabled on;
passenger_use_global_queue on;
# Rails
root /var/www/nginx/redmine/public;
}
}
Nachruf
Wie immer können die Versionsnummern differieren. Des Weiteren weisen die Entwickler des Passengers darauf hin, dass die Quellen von Passenger nicht entfernt werden dürfen. Passenger benötgt diese. Gem. dieser Anleitung also einfach das Gem installiert lassen.
» Quellen
http://modrails.com/install.html
http://www.redmine.org
http://nginx.org
Schreibe einen Kommentar
Du musst angemeldet sein, um einen Kommentar abzugeben.