Mehr Leistung im WWW: Nginx statt Apache nutzen

Wer von Apache zu Nginx migrieren möchte, ist sicherlich gut beraten, dies auf einem Testsystem auszuprobieren. Nach einem erfolgreichen Probelauf lässt sich Nginx aber auch auf einem Produktivsystem installieren und testen, ohne zunächst Apache zu deinstallieren.

Das erreicht man einfach, indem man Nginx auf einem anderen TCP-Port installiert. So lassen sich auch Beta-Tester einbinden.

Angenommen, man besitzt eine LAMP-Website, etwa ein Wiki, mit folgender Apache-Konfiguration (unter Debian/Ubuntu im Verzeichnis /etc/apache2/sites-available/default):

Um die Website auch unter Nginx verfügbar zu machen, installiert man den Webserver und FastCGI-Unterstützung für PHP. Unter Debian/Ubuntu wird das am einfachsten mit apt-get install nginx-extras php5-fpm erledigt.

Anschließend ändert man die Datei /etc/nginx/sites-available/default wie folgt:

Die Syntax für Nginx-Config-Files ist anders als bei Apache. Insbesondere ist das generelle Format an bind beziehungsweise C angelehnt, sprich Mengenklammern zur Gruppierung und Semikola am Ende jeder Zeile. Grundsätzlich sollte eine Nginx-Config-Datei aber für Apache-Profis einigermaßen lesbar sein.

Im Nginx-Wiki lässt sich die Bedeutung der einzelnen Optionen nachlesen. Einsteiger sollten sich zunächst mit location, try_files sowie allow und deny beschäftigen. Hier gibt es wichtige Unterschiede zu Apache.

Im einzelnen haben die Parameter folgende Bedeutung: Mit listen wird Port 8888 definiert. So stellt man sicher, dass Nginx zunächst nicht mit Apache in Konflikt kommt. Wer seine Site für IPv4 und IPv6 konfigurieren möchte, muss zwei Statements definieren.

Der Block location / gilt für die gesamte Website. try_files stellt sicher, dass Directories immer mit einem Backslash enden oder auf /index.php umgeleitet werden, falls das Directory nicht existiert. autoindex off bedeutet, dass Nutzer keine Dateien im Verzeichnis auflisten dürfen.

Im Block location ~ .php$ wird festgelegt, dass PHP-Seiten über FastCGI abgearbeitet werden. .php$ ist ein regulärer Ausdruck. Port 9000 auf der Localhost-Adresse ist der Default-Wert für FastCGI. Man darf nicht vergessen, die Datei fastcgi_params mit include einzubinden, die sich im Verzeichnis /etc/nginx befindet, jedenfalls wenn man das Debian-Paket php5-fpm einbindet. Das kann bei anderen Distributionen anders sein.

Der Block location ~ /.ht sorgt dafür, dass Apache-System-Dateien wie .htaccess gesperrt werden. Nginx hat aus Performancegründen keine Logik wie .htaccess.

Wenn die Konfigurationsdatei fertig ist, kann man sie mit nginx -t testen. Sofern noch nicht geschehen, startet man Nginx mit /etc/init.d/nginx start. Nach einer Konfigurationsänderung empfiehlt sich die Befehlsfolge nginx -t && nginx -s reload. Das testet die Config-Dateien und lädt sie, falls die Syntaxprüfung erfolgreich war.

Anschließend lässt sich die Website nicht nur mit http://www.example.com unter Apache aufrufen, sondern auch mit http://www.example.com:8888/. Sobald man feststellt, dass unter Nginx alles funktioniert, kann man Apache abschalten und den Port in der Datei /etc/nginx/sites-available/default von 8888 auf 80 ändern. Damit ist die Site erfolgreich migriert.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Chips bescheren Samsung deutlichen Gewinnzuwachs

Das operative Ergebnis wächst um fast 6 Billionen Won auf 6,64 Billionen Won. Die Gewinne…

5 Tagen ago

Chrome: Google verschiebt das Aus für Drittanbietercookies

Ab Werk blockiert Chrome Cookies von Dritten nun frühestens ab Anfang 2025. Unter anderem gibt…

6 Tagen ago

BAUMLINK: Wir sind Partner und Aussteller bei der Frankfurt Tech Show 2024

Die Vorfreude steigt, denn BAUMLINK wird als Partner und Aussteller bei der Tech Show 2024…

6 Tagen ago

Business GPT: Generative KI für den Unternehmenseinsatz

Nutzung einer unternehmenseigenen GPT-Umgebung für sicheren und datenschutzkonformen Zugriff.

6 Tagen ago

Alphabet übertrifft die Erwartungen im ersten Quartal

Der Umsatz steigt um 15 Prozent, der Nettogewinn um 57 Prozent. Im nachbörslichen Handel kassiert…

1 Woche ago

Microsoft steigert Umsatz und Gewinn im dritten Fiskalquartal

Aus 61,9 Milliarden Dollar generiert das Unternehmen einen Nettoprofit von 21,9 Milliarden Dollar. Das größte…

1 Woche ago