Eine häufige Anfrage an unseren Support: Wie kann ich mit meiner WordPress Installation Apache deaktivieren und den Betrieb über nginx alleine bewerkstelligen. Der Vorteil ist oft die bessere Performance mit php-fpm und dem nginx Caching etc.
Ihr solltet aber wissen: Teilweise können vor allem Caching Plugins wie SP Super Cache nicht mit nginx funktionieren. Bei der Umkonfiguration landet eure Seite ggf. auf einem HTTP 500 Fehler. Wer sich bzgl. seiner Plugins also unsicher ist aktiviert vor Umstellung den WP Debug Modus.

WP Debug Mode aktivieren

Das geht ganz einfach mit einer Zeile in der wp-config.php:

define( 'WP_DEBUG', true );

In unserer WordPress Toolbox könnt ihr das Debugging ganz simpel aktivieren über den Schalter in der Konfiguration der WordPress Instanz:

wp-debug

PHP FPM aktivieren

Geht auf die Konfiguration eurer Domain und wählt den Punkt PHP-Einstellungen aus.

1.  Umstellen auf php-fpm mit nginx. Wählt php 7.x. aus und stellt zum ausführen ein: FPM-Anwendung von nginx bedient.

php-fpm mit nginx

Apache deaktivieren

Geht zu euer Domain uns wählt den Punkt Einstellungen für Apache & nginx. Hier deaktivieren wir den Proxy Modus!. Das schaltet den Indianer aus.

plesk-proxy-nginx-off

Permalink Support

In der Regel benutzt ihr Permalinks auf eurer WP Installation, da .htaccess bei nginx nicht funktioniert müssen wir die Permalinks für nginx konfigurieren. Dies geht auf der Seite der Apache & nginx Einstellungen am Ende unter dem Punkt Zusätzliche nginx Anweisungen. Hier fügt ihr den folgenden Code ein:

# !!! WordPress Permalinks
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?q=$1 last;
}

Ergebnis:

plesk nginx wordpress permalinks

Nun sollte eure WP Seite rein über nginx gehostet sein. Ihr könnt das unter anderem unter dem Prunkt Protokolle sehen. Sollten Probleme auftreten oder die Seite Fehler produzieren so müsst ihr euch mit dem Debugging beschäftigen und in der Regel das inkompatible Plugin herausfinden.

Finale

Wenn alles funktioniert vergesst nicht den Debug Modus wieder zu deaktivieren!

define( 'WP_DEBUG', false );