[ERLEDIGT]Nginx Howto, bitte ins Wiki übernehmen... - Printable Version +- ispCP - Board - Support (http://www.isp-control.net/forum) +-- Forum: ispCP Omega International Area (/forum-22.html) +--- Forum: German Corner (/forum-26.html) +---- Forum: Archiv (/forum-54.html) +---- Thread: [ERLEDIGT]Nginx Howto, bitte ins Wiki übernehmen... (/thread-5967.html) |
[ERLEDIGT]Nginx Howto, bitte ins Wiki übernehmen... - mad max - 03-07-2009 11:36 PM So da mein Howto leider zerschossen wurde mache ich es hier nochmal neu: Ok jetzt werde ich hier mal ein HOWTO posten, mit dem ich meinen Apache durch den Nginx enlastet habe. Es sei aber angemerkt das dieses HOWTO noch nicht vollständig ausgereift ist. Auf jeden Fall wäre es nett, wenn Leute die sich mit ispCP auskennen an der Fertigstellung/optimierung mitwirken könnten. Also fange ich mal an: Ich gehe davon aus das ein fertig eingerichtetes und lauffähiges ispCP System besteht. Als IP verwende ich diese 192.168.1.1 diese muß natürlich bei jedem durch seine eigene ersetzt werden. Den Apache habe ich erstmal auf Port81 gelegt.Wir editieren /etc/apache2/ports.conf Code: Listen 192.168.1.1:81 Sämtliche bereits angelegten virtual hosts müssen ebenfalls angepasst werden. Ich habe die Datei /etc/apache2/sites-available/ispcp.conf mit einem Editor geöffnet. Dort alle angeleten v-hosts geändert dh. Port 80 durch 81 ersetzt. Hier mal ein kleiner Auszug muß natülich bei jedem schon angelgtem v-host durchgeführt werden. Code: # httpd [192.168.1.1] virtual host entry BEGIN. evtl. gibt es ne möglichkeit dieses einfacher zu lösen wenn ja bitte hier posten. So jetzt installieren wir nginx: Code: apt-get install nginx Jetzt die nginx.conf Datei zu finden etc/nginx/ nginx.conf mit dieser Datei ersetzen: Code: user www-data; Wie ihr seht läuft nginx auf 80 und apache auf 81!! Dann erstellen wir eine neue Datei Namens"proxy.conf" unter /etc/nginx/ Mit folgendem Inhalt: Code: proxy_redirect off; Dieser Teil der oben geposteten nginx.conf Code: server { Wird der default Eintrag dh. ist bei nginx kein v-host angelegt wird gnadenlos alles an den apache weitergeleitet!! Um jetzt dem nginx mitzuteilen welche v-host auf dem Server laufen. Werden so habe ich es zur Zeit am laufen pro v-host eine Datei angelegt. In diesem Verzeichniss werden die Dateien erstellt "/etc/nginx/sites-enabled" Der Name spielt keine rolle um den Überblick zu behalten, habe ich den Domainnamen genommen. Der Inhalt dieser Datei/en sieht so aus: Code: server { Server Name und root muß natürlich angepasst werden!!! Jetzt starten wir Apache neu: Code: /etc/init.d/apache2 restart Jetzt noch den Nginx starten Code: /etc/init.d/nginx start Code: /usr/local/nginx/sbin/nginx -c /etc/nginx/nginx.conf Ein Nginx reload geht so: Code: /etc/init.d/nginx restart Code: kill -HUP `cat /var/run/nginx.pid` So weit so gut bis dorthin lief auf anhieb alles Problemlos. Nur mußte ich feststellen das in den Apache Logs falsche ober besser gesagt nur noch die ip 192.168.1.1 geloggt wird und nicht mehr die tatsächliche ip. Aber auch dafür habe ich eine Lösung gefunden. mod-rpaf war die Lösung Code: apt-get libapache2-mod-rpaf Jetzt mußten nochmal die v-host configs von ispCP editiert werden. Also nochmal /etc/apache2/sites-available/ispcp.conf mit einem editor geöffnet und bei jedem vhost diesen Teil hinzugefügt: Code: RPAFenable On Sieht dann so aus: Code: # httpd [192.168.1.1] virtual host entry BEGIN. So das war es alles läuft super schneller und der Serverload ist deutlich geringer geworden. Um das jetzt weitgehend zu automatisieren dh wenn eine neue Domain angelegt wird habe ich folgende Templates editiert. /etc/ispcp/apache/parts -dmn_entry.tpl -sub_entry.tpl -vh_entry.tpl Code: <VirtualHost {DMN_IP}:81> Code: NameVirtualHost {SUB_IP}:81 Code: <VirtualHost {SUB_IP}:81> Jetzt müßte man es nur noch hinbekommen das auch gleichzeitig hier /etc/nginx/sites-enabled/" eine neue Datei erstellt wird mit dem neuen v-host wie er oben beschrieben ist. Dann bleibt nur noch der reload von nginx damit die neue Datei geladen wird. Achtung "libapache2-mod-rpaf " gibt es nur für Lenny!! Für alle die Etch verwenden folgt dieser Teil: Code: cd /usr/local/src Code: wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz Code: tar xzf mod_rpaf-0.6.tar.gz Code: cd mod_rpaf-0.6 Compiling rpaf module: Code: nano /usr/local/src/mod_rpaf-0.6/makefile Change APXS=$(shell which apxs) to APXS=/usr/sbin/apxs. Code: make rpaf-2.0 && make install-2.0 Diesen Teil natürlich nicht vergessen ist ja ich HOWTO beschrieben: Code: RPAFenable On So das ganze läuft jetzt seit dem 15.01.2009 auf meinem Produktivserver ohne Probleme. Allerdings müssen die Änderungen noch per Hand erledigt werden wie zb die V-Host Einträge für den Nginx. mfg Mad Max RE: Nginx Howto, bitte ins Wiki übernehmen... - FISA4 - 03-11-2009 11:48 AM Test auf einem VMWare Testsystem: Frisch installiertes Debian Etch mit Omega 1.0.0 512MB Folgender Fehler tritt auf: Quote:alpha:/var/www/ispcp/gui/tools# apt-get install nginx Was kann das sein? Gruß FISA4 RE: Nginx Howto, bitte ins Wiki übernehmen... - BeNe - 03-11-2009 07:01 PM Was kommt für ein Fehler wenn Du ngnix jetzt starten willst ? Greez BeNe RE: Nginx Howto, bitte ins Wiki übernehmen... - mad max - 03-11-2009 10:28 PM Hallo ich denke es liegt daran das Apache und Nginx noch auf dem selben Port laufen. Stop mal den Apache und starte dann Nginx wenn es funzt weißt du woran es lag. .......und dann nach dem Howto oben vorgehen. Erst alle Änderungen machen und dann Nginx starten!! mfg RE: Nginx Howto, bitte ins Wiki übernehmen... - FISA4 - 03-12-2009 12:32 PM AUTSCH bin ich blöd... nach dem Port ändern noch ein Code: /etc/init.d/apache2 restart schon läuft die installation auch ohne fehler durch. Bitte ins HowTo mit aufnehmen ! Gruß FISA4 RE: Nginx Howto, bitte ins Wiki übernehmen... - BeNe - 07-01-2009 04:43 PM Gibt es denn wirklich eine Performance verbesserung da durch ? Kann einer Zahlen in den Raum werfen oder positive Erfahrungen von sich geben ? Greez BeNe Das Thema ansicht ist ja echt interessant! nginx kann auch "irgendwie" direkt mit fast_cgi prozessen arbeiten. --> http://wiki.nginx.org/NginxHttpFcgiModule Zudem gibt es noch die möglichkeit es als POP3/IMAP & SMTP + SSL Proxy laufen zu lassen. --> http://wiki.nginx.org/NginxModules#Mail_modules Das schreit gerade nach einem Test Gibt es Anhänger ? Greez BeNe RE: Nginx Howto, bitte ins Wiki übernehmen... - Top44 - 07-01-2009 08:08 PM Also ganz ehrlich, ich denke man sollte es nicht erst Anfangen Lighttpd versuchen zu Integrieren, sondern Nginx als Webserver nehmen. Die Konfiguration sieht im ersten Schritt Optimal bis Perfekt aus. Gerade die Optionalen Addons haben es mir angetan. Grüße RE: Nginx Howto, bitte ins Wiki übernehmen... - mad max - 07-01-2009 10:05 PM (07-01-2009 04:43 PM)BeNe Wrote: Gibt es denn wirklich eine Performance verbesserung da durch ? Hallo ich hatte es vor einiger Zeit, als ich dieses HowTo gepostet hatte auf einem Liveserver am laufen. Auf diesem Server liefen hauptsächlich 2 Browsergames und noch ca 30wbb Foren. Durch den Einsatz von nginx gab es einen mächtigen Performance schub ich konnte es selbst kaum glauben. Allerdings mußte jedesmal beim anlegen einer neuen Domain ein neuer V-Host in Nginx manuell angelegt werden. Ich hatte damals leider keine Anhänger gefunden die sich an der umsetzung beiteiligt haben. Ansonsten hätte man dieses sicherlich auch noch automatisieren können. Der letzte Vorschlag hier im Tread, Apache komplett durch nginx auszutauschen ist wohl die beste Möglichkeit. Ispcp mit kompletter nginx unterstützung wäre das non plus ultra :-)) mfg Mad Max RE: Nginx Howto, bitte ins Wiki übernehmen... - Top44 - 07-02-2009 04:01 AM Im grunde sind es ja nur die Templates die dafür gebraucht werden, um in die ispcp.conf die vhosts zu erstellen. Ich denke das dies schon alles ist. Ich werde mich in der VM mal daran setzten. Ich finde es überaus Interessant. Grüße RE: Nginx Howto, bitte ins Wiki übernehmen... - grisu - 08-20-2009 12:31 AM Hi Leute Ich habe einmal Tests mit einem TYPO3-System gemacht (auf einem sich langweilenden Server allerdings). Per Default liess ich Apache auf Port 80 laufen und parallel nginx auf 8080. eAccelerator war aktiv in beiden Fällen. To make a long story short: Ergebnis war ca. eine 50%ige Performance steigerung - bei Auslastung bestimmt noch mehr. Apache - Parsing Time: ~60-80ms Nginx - Parsing Time: ~30-40ms ab test (500 requests) Apache: Requests per second: 13.39 [#/sec] (mean) Nginx: Requests per second: 27.16 [#/sec] (mean) Alles in allem schon sehr beeindruckend... aber ob default-mässig apache2 ersetzt werden sollte, finde ich zweifelhaft. Die meisten kennen schlicht apache besser - insb. viele der apache-module. Optional wäre es bestimmt eine gute Idee. Ich muss mich zuerst noch einarbeiten, bevor ich apache2 komplett wechseln werde... wenn überhaupt. Denn aus Performance-Gründen drängt sich das bei mir nicht auf. LG |