PREVIEW: NGINX-Unterstützung!

  • Wir freuen uns bekannt geben zu dürfen, dass LiveConfig ab Version 1.5.1 (r1751) (derzeit im Lab-Bereich verfügbar) auch den beliebten Webserver NGINX unterstützt.
    Derzeit gilt die Unterstützung von NGINX noch als experimentell, ab der kommenden Version (1.5.2) soll auch ein Produktiveinsatz möglich sein.


    Die Marketing-Floskeln spare ich mir an dieser Stelle (die werden noch für die Pressemitteilung gespart) - wer NGINX kennt, weiß um was es hier geht. :)


    Im Gegensatz zu "anderen" Controlpanels konfiguriert LiveConfig NGINX nicht als Reverse-Proxy vor einen normalen Apache httpd, sondern erlaubt die native (direkte) Verwendung von NGINX als "echten" Webserver! Gerade bei Hochlast-Websites entfällt somit der "Apache-Flaschenhals".


    In der LiveConfig-Oberfläche können sowohl Apache als auch NGINX parallel genutzt werden. Für jede einzelne Subdomain kann der Benutzer entscheiden, ob diese über NGINX oder über Apache laufen soll. Die Dokumentation wird derzeit noch entsprechend überarbeitet und sollte ab morgen Mittag hier online sein (Referenzhandbuch).


    Derzeit gelten bei der Nutzung von NGINX noch folgende Einschränkungen:

    • es werden noch keine access-Logs für NGINX-Zugriffe erzeugt, ebenso wird der Traffic derzeit noch nicht berücksichtigt (wir arbeiten noch daran, die access-Logs von Apache und NGINX im Parallelbetrieb in Echtzeit zusammenzuführen)
    • die Installation von Anwendungen über den Application Installer ist prinzipiell auch auf NGINX-Subdomains möglich, allerdings werden die meisten Apps vorerst nicht richtig funktionieren (viele Anwendungen brauchen RewriteRules; wir arbeiten bereits daran diese entsprechend auf NGINX abzubilden)


    Alle weiteren Funktionen (SSL-Unterstützung, passwortgeschützte Zugriffsstatistiken, etc.) sollten soweit komplett funktionieren.


    PHP wird bei NGINX über FastCGI ausgeführt; es gibt ein neues init-Script /etc/init.d/nginx-php-fcgi, welches die entsprechenden Prozesse startet bzw. stoppt.


    Unser Ziel ist es, NGINX zu 100% als Alternative zu Apache httpd im Shared Hosting nutzbar zu machen.


    Feedback, Fragen, Fehlermeldungen und Verbesserungsvorschläge sind herzlich willkommen.


    Viele Grüße


    -Klaus Keppler


    KURZANLEITUNG:

    • Paket "nginx" installieren
    • eine weitere IP-Adresse auf dem Server einrichten (NGINX kann natürlich nicht die selbe IP nutzen wie Apache)
    • LiveConfig neu starten
    • in LiveConfig unter Serververwaltung -> Web die Verwaltung von NGINX aktivieren, entsprechende IP(s) aktivieren. Eine neue IP-Gruppe für NGINX wird automatisch erzeugt.
    • ggf. IP-Gruppe anpassen
    • ab sofort kann im Menü unter Hosting -> Domains bei jeder (Sub-)Domain der gewünschte Webserver ausgewählt werden. Bitte auf korrekte IP-Konfiguration im DNS achten. (Die DNS-Verwaltung durch LiveConfig ist ab der nächsten Version möglich)
  • Hallo,


    wird es hier auch eine Möglichkeit geben dem Kunden beim Anlegen der Domain vorzugeben ob er einen Nginx oder Apache für seine Subdomains nutzen darf?


    Danke


    Beste Grüße


    Tobias Niebergall

  • Daran arbeiten wir bereits; für PHP-FPM müssen wir im init-Script noch prüfen ob eine entsprechend passende PHP-Version installiert ist, das Integrieren "eigener" Anweisungen in die NGINX-Konfiguration ist noch eine größere Herausforderung (erste Ergebnisse sollten in 2-3 Wochen verfügbar sein). Kurz gesagt soll es in der Oberfläche eine Möglichkeit geben, eine definierte Menge an Befehlen zu erfassen; LC prüft dann jeweils deren Syntax und ob diese in der installierten NGINX-Version auch verfügbar sind.


    Viele Grüße


    -Klaus Keppler

  • Wir setzen LC+nginx produktiv auf einem stark frequentiertem Server (mehrere Mio Pageviews/Monat) problemlos ein, haben dort allerdings noch einige Details "tunen" müssen. Die notwendigen Änderungen (insbes. SSL-Konfiguration, "Include" von eigenen Konfigurationabschnitten) fließen in den nächsten Tagen noch in die aktuelle Preview ein.
    Kurzum: PHP-FastCGI und Domainkonfiguration läuft stabil und problemlos, es mangelt nur noch an Einstellmöglichkeiten für Spezialfälle.


    Falls Sie konkrete Fragen oder spezielle Anforderungen haben, geben Sie einfach Bescheid.


    Viele Grüße


    -Klaus Keppler

  • Guten Tag,


    Zitat

    Die notwendigen Änderungen (insbes. SSL-Konfiguration, "Include" von eigenen Konfigurationabschnitten) fließen in den nächsten Tagen noch in die aktuelle Preview ein.


    gibt es zu letzterem Punkt schon Neuigkeiten?


    Grüße,

  • Moin zerfl,


    vielleicht hilft dir dies schon mal weiter...


    Gibt's schon ("undocumented feature" ;-))
    Wenn eine Datei namens ~/conf/nginx.conf existiert, dann wird diese per include mit aufgenommen. WICHTIG ist aber: diese wird in jeden server-Abschnitt (quasi jeden VirtualHost) übernommen - ggf muss man die Einstellungen darin also mit entsprechenden Bedingungen ausstatten.


    Dieses Feature ist deshalb undokumentiert, weil die Möglichkeit für eigene Rewrite-Regeln mittelfristig über die GUI gelöst werden soll...

  • i.d.R. ist für die Nutzung von nginx kein extra IP nötig, ein Portswitching wäre ausreichend.
    Ist dies geplant?


    Desweiteren möchte ich nginx reverse nutzen, dazu müssen vhosts automatisch angelegt werden.
    Welche Datei/Script erstellt derzeit die Apache vhost Dateien ?
    So könnte ich es ändern, dass es auch nginx vhost anlegt..

  • i.d.R. ist für die Nutzung von nginx kein extra IP nötig, ein Portswitching wäre ausreichend.
    Ist dies geplant?


    Nein, ist nicht geplant. Da viele Firewalls in Firmen und Behörden nur Port 80 und 443 für ausgehende Web-Verbindungen durch lassen, macht die Verwendung abweichender Ports nur selten Sinn. Auch hier kann man aber ggf. mit eigenen Lua-Funktionen einen Workaround bauen.


    Zitat

    Desweiteren möchte ich nginx reverse nutzen, dazu müssen vhosts automatisch angelegt werden.
    Welche Datei/Script erstellt derzeit die Apache vhost Dateien ?
    So könnte ich es ändern, dass es auch nginx vhost anlegt..


    /usr/lib/liveconfig/lua/apache.lua
    Bitte nicht überschreiben, sondern eigene Funktionen in eine "custom.lua" schreiben und die entsprechenden Original-Funktionen umbiegen (dann ist das auch Update-sicher).
    Da ein Reverse-Proxy aber zusätzliche Komplexität und mögliche Probleme mit sich bringt, empfehle ich, lieber direkt NGINX zu nutzen. Noch benötigte Konfigurationsanpassungen kann man über die oben beschriebene "~/conf/nginx.conf" vornehmen.


    NGINX wird bei uns priorisiert sobald das DNS-Management fertig ist.


    Viele Grüße


    -Klaus Keppler


  • [*]es werden noch keine access-Logs für NGINX-Zugriffe erzeugt, ebenso wird der Traffic derzeit noch nicht berücksichtigt (wir arbeiten noch daran, die access-Logs von Apache und NGINX im Parallelbetrieb in Echtzeit zusammenzuführen)


    Das steht vermutlich noch auf der mittelfristigen Agenda, oder?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!