Anpassen der nginx-Einstellungen für virtuelle Hosts

In der Standardeinstellung arbeitet der Apache-Webserver mit nginx zusammen. Die Vorteile daran sind, dass Webpages schneller geladen werden und Serverressourcen gespart werden. Nähere Informationen dazu, wie Apache und nginx standardmäßig zusammenarbeiten finden Sie im Abschnitt Apache mit nginx.

Die Standardarbeitsweise zwischen Apache und nginx können Sie für jede beliebige Website ändern. Genauer gesagt, können Sie angeben, welcher Webcontent (statisch oder dynamisch) von welchem Server bearbeitet werden soll. Dies ermöglicht Ihnen die Optimierung der Leistung besonders ausgelasteter Webanwendungen, die viel dynamischen Content (PHP-Dateien) oder viel statischen Content besitzen. Die entsprechenden Einstellungen finden Sie im Kunden-Panel unter Websites & Domains > <Domainname> > Einstellungen für Apache & nginx.

Hinweis: Auf nginx bezogene Einstellungen sind nur verfügbar, wenn nginx aktiviert ist.

In den nachfolgenden Diagrammen sind alle möglichen Konfigurationen zu sehen sowie die Vorteile und Nachteile jeder Konfiguration aufgeführt.

Verarbeitung von statischem Content

Die folgende Tabelle zeigt, wie Plesk je nach nginx-Konfiguration die Abfrage einer 2 KB großen GIF-Bilddatei verarbeitet.

 

Header

 

Intelligente Bearbeitung statischer Dateien ist eingeschaltet

Standard

Dies ist die optimale Konfiguration in Bezug auf Leistung und Stabilität.

Die Abfrage wird an Apache geleitet, der lediglich einen Dateiablageort zurückgibt. Die Datei wird von nginx lokalisiert und übergeben.

Intelligente Bearbeitung statischer Dateien ist ausgeschaltet

Transparent

nginx gibt Abfragen und Antworten ohne Modifikation weiter. Dadurch kann der Modus gut zur Behandlung von nginx-bezogenen Problemen verwendet werden.

Die Datei wird zweimal gesendet: von Apache zu nginx und von nginx zum Client. Dies kann die Leistung geringfügig mindern, insbesondere wenn große Dateien gesendet werden.

 

Die GIF-Dateierweiterung ist in die Option "Statische Dateien direkt durch nginx bedienen" inbegriffen

static_by_nginx

Dieser Modus verbessert die Leistung beim Senden statischer Dateien.

Beachten Sie jedoch: Da Abfragen niemals Apache erreichen, durchlaufen Sie auch nicht die Apache-Handler. Dies bedeutet, dass z.B. auch keine Rewrite-Regeln oder .htaccess-Anweisungen angewendet werden.

Verarbeitung von dynamischem Content

Die folgende Tabelle zeigt, wie Plesk je nach nginx-Konfiguration die Abfrage einer PHP-Datei verarbeitet.

 

Header

 

PHP von nginx verarbeiten lassen ist ausgeschaltet

Dies ist die optimale Konfiguration in Bezug auf Leistung und Stabilität.

Die Abfrage wird an Apache geleitet, der die Datei ausführt und das Ergebnis zurücksendet.

Je nach Hosting-Einstellungen der Website verwendet Apache folgende Handler: FastCGI, CGI oder das Apache-Modul. Sie können aber auch die PHP-Version einzeln für jede Website wählen.

PHP von nginx verarbeiten lassen ist eingeschaltet

php_nginx

nginx selbst führt die Datei mithilfe des PHP-FPM-Handlers aus. Der PHP-FPM-Handler bietet erweiterte FastCGI-Features, was die Leistung von Webanwendungen, insbesondere solcher mit vielen Benutzern, verbessern kann.

Beachten Sie jedoch: Da Abfragen niemals Apache erreichen, durchlaufen Sie auch nicht die Apache-Handler. Dies bedeutet, dass einige Webanwendungen möglicherweise nicht wie erwartet funktionieren. Auch werden keine .htaccess-Anweisungen und Rewrite-Regeln für Apache angewendet.

 

Wichtig: Damit die Option PHP von Nginx verarbeiten lassen überhaupt verfügbar ist, muss die PHP-FPM-Unterstützung für nginx eingerichtet sein. Einzelheiten dazu, wie Sie die PHP-FPM-Unterstützung einrichten, finden Sie im Abschnitt PHP-Handler.

Einrichten zusätzlicher nginx-Anweisungen

Wenn Sie benutzerdefinierte nginx-Anweisungen für eine Website hinzufügen wollen, steht Ihnen hierfür das Feld Zusätzliche nginx-Anweisungen zur Verfügung. Beim Bearbeiten des Feldes ist die Syntax von nginx.conf zu verwenden. Beispiel: Wenn Sie alle über den Proxy gelaufenen Abfragen mit Gzip packen möchten, fügen Sie diese Zeile hinzu:

gzip_proxied any;

Beachten Sie bitte, dass Ihre Kunden das Feld Zusätzliche nginx-Anweisungen nicht sehen oder bearbeiten können.