Anleitung: NGINX unter Plesk Onyx

NGINX Logo

Einige Plesk Funktionalitäten wie z.B. HTTP/2 und Proxyregeln für Docker-Images benötigen den NGINX Webserver. Dieser ist jedoch nicht unbedingt auf ihrem Linux-Server installiert oder aktiv.

In diesem Post zeige ich auf, wie der NGINX Server auf einen Plesk-System sich installieren lässt.
Die Schritte könnten unter der Windows-Version von Plesk ähnlich sein. Da ich jedoch kein Windows-Webserver betreiben würde, kann ich das nicht überprüfen.

Was ist NGINX?

Der NGINX Server ist ein Open-Source Webserver mit weiter Verbreitung, mächtigen Konfigurationsmöglichkeiten und guter Performance. Er kann unter anderem auch als Reverse-Proxy verwendet werden.

Wurde NGINX schon installiert?

Unter Tools & Einstellungen -> Serververwaltung -> Serverkomponenten werden die Plesk Komponenten aufgelistet.

Schritt 1) Tools & Einstellungen

Plesk Onyx Serververwaltung

Schritt 2) Plesk Komponenten Screen prüfen

(https://ip-des-servers:8443/plesk/server/components/)
Plesk Webinterface Ansicht der Plesk Komponenten

NGINX über Plesk Onyx installieren

Unter Tools & Einstellungen -> Plesk -> Updates & Upgrades findet sich die verlinkung zu den Installations Programm von Plesk 17. Persönlich finde ich diese (zumindest Deutsche) Wortwahl ein wenig merkwürdig  für ein Installations Tool.

Plesk 17 Updates und Upgrades Menüpunkt

Nachdem wir auf den Menüpunkt geklickt haben, landen wir im Plesk Installer unter https://server-ip:8447/summary.html

Als nächstes müssen wir auf „Komponenten hinzufügen/entfernen“ klicken um das eigentliche Menü zu erreichen.

Plesk 17 Installer - Komponenten hinzufügen

 

 

 

 

 

Auf der nächsten Seite, haben wir die Möglichkeit unter den Ausklappmenü „Web Hosting“ den Eintrag „Nginx web server and reverse proxy server“ finden und diesen aktivieren.

NGINX installieren

Nun folgen wir mit Fortfahren den Plesk Installer und prüfen am Ende, ob dieser installiert wurde.

NGINX als Reverse Proxy für Plesk aktivieren

Als nächstes melden wir uns per SSH auf unseren Server an und prüfen die Konfiguration von Plesk.

Um den Status von der NGINX Konfiguration in Plesk zu prüfen, führen wir folgenden Befehl aus.
/usr/local/psa/admin/sbin/nginxmng -s

Die Ausgabe sollte wie folgt aussehen:
server-project:~# /usr/local/psa/admin/sbin/nginxmng -s
Enabled
server-project:~#

Wir können die Einstellung mit folgenden Befehl aktivieren:
/usr/local/psa/admin/sbin/nginxmng -e

Deaktivieren können wir die Einstellung mit:
/usr/local/psa/admin/sbin/nginxmng -d

Zusätzlich sollten wir prüfen, ob NGINX wirklich auf den Linux-System gestartet wurde.
server-project:~# /etc/init.d/nginx status
* nginx is running
server-project:~#

Wenn alle Punkte erfolgreich waren, dann sollte nun NGINX bei euch laufen. In meinen nächsten Posts gehe ich auf Optimierungen der Konfiguration ein. Sobald diese fertig sind, werde ich sie hier verlinken.

Falls ihr Anregungen/Probleme habt oder aber Fehler gefunden habt, verwendet gerne die Kommentarfunktion für Feedback.

3 Gedanken zu „Anleitung: NGINX unter Plesk Onyx“

  1. Hallo Tim, vielen Dank für deine ausführliche Posts.
    Leider gehst du sehr wenig auf mögliche Fehler und Probleme ein, aber ich kämpfe mich durch! 😉
    Auf jedem Fall hast du jetzt einen riesen Fan in mir! Ich werde nach und nach alles durcharbeiten und einpflegen.

  2. Hallo,
    vielen dank für den schönen und bebilderten Post.
    Grundsätzlich ist es auch ohne nicht sehr schwer nginx auf Plesk zu installieren.
    Der Teufel steckt im Detail:
    wenn man nginx am Laufen hat so stößt man als nächstes auf die Problematik die Rewrites zu konfigurieren, da nginx die .htaccess dateien ignoriert muß man in der nginx.conf entsprechende direktiven setzen.
    Auch das ist mit meinem Freund Google schnell erledigt.
    Wo ich mir aber seit Tagen die Zähne ausbeiße ist folgender Umstand:

    ich habe auf Plesk verschiedene Abbonnements:
    im Grundsatz bastelt sich Plesk die nginx.conf aus einer Basisdatei welche als Global zu verstehen ist und den zusätzlichen Direktiven die man entweder im Backend oder direkt in die datei einträgt zusammen.

    hat man aber jetzt. z.B. einen Magento Multistore so muß man laut Dokumentation im Netz nun aber auch sowas einzutragen.
    map $http_host $magecode {
    hostname
    .domain1.com default;
    .domain2.com domain2_com;
    }

    Leider sind direktiven, wie oben zu sehen unter zusätzliche nginx Direktiven nicht erlaubt, da diese im Server“bereich“ der zusammengebastelten Datei stehen müssen.

    Jetzt kommt die Misere und dann zum Schluß auch gleich die Frage bzg. Docker:
    Ändert man die nginx.conf im entsprechenden Bereich so hat das 2 Nachteile:
    1. Die Änderungen gelten Global
    2. Die Änderungen werden ggfs überschrieben. (hier kann man mit Custom Dateien
    /usr/local/psa/admin/conf/templates/default/domain/domainVirtualHost.php
    nachhelfen)

    Jetzt die Frage, kann man denn den nginx Server nicht an ein Abo hängen? so daß z.b. bei 3 Abonnenten also 3 Websites z.b. 3 verschiedene Docker Container hängen die den Job erledigen?

    Ich habe Verstanden, dass Docker so wie virtuelle Maschinen früher in sich abgeschlossen laufen und durchaus coexistieren können. jedoch finde ich keine Doku ob Docker Container auch dauerhaft und produktiv eingesetzt werden können?

    Grundstätzlich müsste ich ja dann auch noch drüber nachdenken wie ich Apache – Nginx – und Varnish einsetze, Varnish gibts auch als Docker Container habe ich gesehen,

    Wie komme ich hier weiter..

    Andere Alternative:
    Server neu installieren ohne plesk , aber die Arbeit die einem Plesk abnimmt , kommt wieder zurück wenn man gezwungen ist mit plesk zu konfigurieren..
    also einfacher wirds nicht!

    Beste Grüße
    Markus

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.