Falls noch nicht geschehen installieren wir zuerst mal nginx und php5-cgi PHP-FPM.
aptitude install nginxphp5-cgiphp5-fpm
Jetzt legen wir uns eine neue Konfigurationsdatei für nginx mit folgendem Inhalt an.
server { server_name example.com; access_log /var/log/nginx/com.example.access.log; if (!-e $request_filename) { rewrite ^.*$ /index.php last; } root /var/www/vhosts/example.com/public; index index.php index.html; location ~ \.php$ { include /etc/nginx/fastcgi_params; keepalive_timeout 0; fastcgi_param APPLICATION_ENV 'development'; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass 127.0.0.1:9000; } }
Die Rewrite Regel leitet wie beim Zend-Framework üblich alle Dateien die nicht existieren auf die index.php um.
Die Datei wird anschließend als “/etc/nginx/sites-available/example.com” gespeichert und zum aktivieren verlinkt.
ln –s “/etc/nginx/sites-available/example.com “/etc/nginx/sites-enabled/example.com
Nun muss noch nginx neu startet werden.
/etc/init.d/nginx restart
Dateien mit der Endung .php werden also an localhost auf den Port 9000 weiter gereicht. An der Stelle wartet jetzt noch kein PHP auf die Anfrage. Man könnte jetzt also einfach php-cgi starten, das hält aber nur bis nächsten Neustart.
php-cgi -b 127.0.0.1 &
Oder aber man richtet sich ein entsprechendes Init Script ein.
Ein Gedanke zu „Howto: Debian 6 (Squeeze) mit nginx + FastCGI + Zend Framework“