Phusion Passenger

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen

Phusion Passenger ist ein Apache-Plugin zur Integration von Apps auf Domain (vhost) Ebene. Dabei kann es sich z.B. um NodeJS, Etherpad, RubyOnRails und weiteren Laufzeitumgebungen handeln.

Aktivierung / .htaccess

Das Plugin kann über die .htaccess Datei im jeweiligen Domain-Verzeichnis aktiviert werden. Z.B. in "/home/pacs/xyz00/users/example/doms/example.com/.htaccess":

   PassengerNodejs /home/pacs/xyz00/users/example/.nvm/versions/node/v6.11.2/bin/node

(Nähere Informationen bitte den jeweiligen Wiki-Seiten über die spezifischen Laufzeitumgebungen entnehmen.)

Die Phusion Passenger Aktivierung erfolgt immer für die gesamte aufgeschaltete Domain, sie wirkt also auch auf Subdomains im Verzerichnis 'subs'. Insbesondere wird damit PHP für die jeweilige Domain deaktiviert. Statischen Dateien (z.B. index.html) aus htdocs* und subs* sind davon nicht betroffen. Idealerweise wird daher für jede App eine eigene Subdomain mit HSAdmin aufgeschaltet.

Sobald eine App einmal geladen ist, sind die Settings und Mappings Bestandteil der transienten Apache vhost-Konfiguration. Die .htaccess-Settings bzgl. Passenger kommen dann nicht zum Tragen, weil die .htaccess zu Gunsten der Effizienz dann nicht mehr ausgewertet wird.

Neueinlesen der Konfiguration / Restart der App

Passenger Apps werden wir folgt neu gestartet oder neu geladen:

   mkdir app(-ssl)/tmp
   touch app(-ssl)/tmp/restart.txt

Das führt nach einer Weile zu einem graceful Restart der App. D.h. die einzelnen Prozesse werden sukzessive zwischen der Bedienung von HTTP-Requests neu gestartet. Im Rahmen dieses Restarts sollten geänderte .htaccess Direktiven Wirkung entfalten. Entsprechendes gilt für Änderungen an der Applikation selbst.