Webserver · 3 min read · Feb 06, 2026
Installation von Nginx mit PHP 5.3 und PHP-FPM auf Ubuntu Lucid Lynx (10.04) ohne Kompilierung
Installation von Nginx mit PHP 5.3 und PHP-FPM auf Ubuntu Lucid Lynx (10.04) ohne Kompilierung
Version 1.0
Folge mir auf Twitter
Da Apache meistens ein speicherhungriger Prozess ist, begannen die Leute, nach anderen Möglichkeiten zu suchen, um ihre Website zu hosten. Apache ist eindeutig nicht der einzige verfügbare Webserver. Einige gute Beispiele sind lighttpd und nginx. In diesem Tutorial zeige ich dir, wie du es auf deinem Ubuntu-Server installieren kannst. Dieses Tutorial gilt auch für Debian, obwohl es nur einen sehr kleinen Unterschied gibt.
Bereit? Lass uns anfangen, oder?
Schritt 0 - Vorbemerkungen
Um dieses Tutorial abzuschließen, gehe ich davon aus, dass du ein Basissystem von Ubuntu Lucid (10.04) installiert hast. Wie dies geschehen kann, kann in verschiedenen Tutorials nachgelesen werden. Dieses Tutorial konzentriert sich nur darauf, nginx+php ohne viel Aufwand zum Laufen zu bringen.
Schritt 1 - Nginx
Die Installation von nginx ist der erste Schritt, den wir tun müssen. Dies kann einfach durch Herunterladen aus dem Repository erfolgen.
sudo apt-get install nginxDer Standard-vhost muss geändert werden, um ordnungsgemäß zu funktionieren.
sudo vim /etc/nginx/sites-available/defaultEin schöner Ausgangspunkt für deine Konfiguration ist:
server {
listen 80;
server_name localhost;
access_log /var/log/nginx/localhost.access.log;
## Standardstandort
location / {
root /var/www;
index index.php;
}
## Bilder und statische Inhalte werden anders behandelt
location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
access_log off;
expires 30d;
root /var/www;
}
## Alle .php-Dateien im Verzeichnis /var/www parsen
location ~ .php$ {
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_pass backend;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;
include fastcgi_params;
fastcgi_intercept_errors on;
fastcgi_ignore_client_abort off;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
}
## Anzeige von .htaccess & .htpassword deaktivieren
location ~ /\.ht {
deny all;
}
}
upstream backend {
server 127.0.0.1:9000;
}
Ok, das haben wir hier erledigt. Jetzt installieren wir die benötigten Dateien für PHP.
Schritt 2 - PHP installieren
Viele Websites sind auf PHP angewiesen, um ihnen dynamische Inhalte bereitzustellen, sei es ein Wiki, Forensoftware, Blog oder etwas ganz anderes.
Es ist nicht notwendig, DotDeb zu verwenden, da PHP5.3 jetzt offiziell in Ubuntu Lucid (10.04) unterstützt wird. Es ist so einfach wie
sudo apt-get updateDer resultierende Text sollte dotdeb enthalten.
Jetzt installieren wir PHP. Um PHP-FPM zu installieren, müssen wir das PPA hinzufügen, da es nicht offiziell unterstützt wird.
add-apt-repository ppa:brianmercer/phpsudo apt-get update && sudo apt-get install php5-fpmWenn du planst, eine Datenbank zu verwenden oder spezifische Module (mcrypt, ldap, snmp usw.) benötigst, kannst du diese ebenfalls installieren.
Ok, jetzt haben wir nginx und PHP installiert und bereit zur Verwendung.
Schritt 3 - Finalisierung
Starte nginx neu, um die Konfigurationsänderungen, die wir zuvor vorgenommen haben, zu übernehmen.
sudo service nginx restartDer Neustart sollte ohne Probleme verlaufen sein.
Nach der Installation von php5-fpm sollte es gestartet worden sein. Wenn du deine php.ini-Dateien geändert hast, musst du php5-fpm neu starten.
sudo service php5-fpm restartAlles klar. Sie sollten jetzt beide laufen.
Schritt 4 - Testen
Um zu testen, ob die Ausführung von PHP funktioniert, erstelle eine index.php-Datei in /var/www mit folgendem Inhalt:
Besuche deinen Webserver und du solltest die generierte phpinfo sehen können. Wenn nicht, ist etwas schiefgelaufen.
Schritt 5 - Fehlersuche & abschließende Hinweise
Wenn du die phpinfo nicht gesehen hast, könnte etwas schiefgelaufen sein. Um herauszufinden, was schiefgelaufen ist, kannst du das nginx-Fehlerprotokoll überprüfen:
sudo tail /var/log/nginx/error.logDenke daran, wenn du deine php.ini geändert hast, musst du php5-fpm neu starten. Ein Neustart von nginx ist nicht notwendig.
In meinem Beispielkonfiguration habe ich die FastCGI-Fehlerinterzeption aktiviert. Wenn ein schwerwiegender Fehler auftritt (zum Beispiel ein “cannot redeclare class xyz”), kann nginx diese Seite abfangen und eine “schöne” Fehlerseite anzeigen, dass etwas schiefgelaufen ist. Auf diese Weise werden weniger Informationen preisgegeben, falls etwas ernsthaft schiefgeht.
Wenn dir das nicht gefällt, kannst du es ausschalten.
Wenn php5-fpm nicht läuft, können deine PHP-Dateien nicht geparst werden und nginx zeigt dem Benutzer eine Fehlerseite an.
Nun, ich denke, wir sind fertig und du bist jetzt in der Lage, PHP mit deinem neuen nginx-basierten Webserver bereitzustellen. Nginx ist ziemlich nett und du kannst viel konfigurieren. Wenn du Umschreibungen benötigst, sei dir bewusst, dass nginx nicht mit .htaccess-Dateien funktioniert. Du musst deine vhost-Einstellungen ändern, damit die Umschreibungen funktionieren.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.