nginx oder apache für kleinen RootServer

budspencer

New Member
Ich habe einen neuen Server gemietet,

Es ist ein kleiner Rootserver von Hosteurope
24GB RAM
1 TB RAID
2 + (2 Virtuelle Kerne) von einem Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz

Auf den Server werden ca. 25 Kunden Websiten (Joomla und Wordpress) gehostet die zusammen Täglich ca. 10.000 Visits haben.

Ich kann mich noch nicht so recht entscheiden was ich nehmen soll,
nginx mit php_fpm
oder
apache mit php_fpm.

Die Frage ist, ob man bei so einem "schwachen" Server überhaupt einen unterschied merkt. Apache und PHP kann ja spawnen wie sie wollen bei 24GB RAM.
 
Ich kann Dir Deine Frage leider nicht beantworten, da ich mich nie mit nginx beschäftigt habe. Aber ich bin mir fast sicher, dass Dein "kleiner" Server ziemlich überdimensioniert ist.

Als Bsp.: einer meiner Server (Serverloft) hat 30 Kunden mit u.a. gut frequentierten Shops, CMS-Seiten, etc. Insgesamt knapp 100Gb Traffic im Monat.

Der Prozessor (AMD Opteron 2344 HE Quadcore) dreht trotzdem Däumchen und kommt nie an seine Leistungsgrenze. Die 4GB Ram sind langsam an Ihrer Grenze. 8 GB wären aber völlig ausreichend.

Webseiten / Emails u. andere Dienste rennen.

Edit: ich benutze aber auch kein PLESK ... :D
 
Für die paar Websites ist der Server wirklich etwas groß. Unter einem kleinen Rootserver habe ich mir jetzt etwas Anderes vorgestellt. :D

Zu deiner Frage: Für den privaten Einsatz, bzw. wenn nur eine Handvoll Websites darauf laufen, würde ich NGINX bevorzugen. Da du aber von "Kunden" sprichst und es sich um mehr als ~5 Websites handeln wird, würde ich definitv auf Apache + PHP-FPM zurückgreifen, statt auf NGINX als Standalone. Warum? Weil NGINX keine .htaccess Regeln lesen kann, was schnell zu unzufriedenen Kunden, oder zu viel Herumbasteln an den vHost Configs führt. NGINX als Reverse Proxy vor Apache setzen, wäre eine gute Alternative.
 
Nginx natuerlich, was fuer eine Frage.

Schlank, schnell und sehr simpel in der Konfiguration. - Egal auf welchem System. :cool:
 
Ich kann Dir Deine Frage leider nicht beantworten, da ich mich nie mit nginx beschäftigt habe. Aber ich bin mir fast sicher, dass Dein "kleiner" Server ziemlich überdimensioniert ist.

Als Bsp.: einer meiner Server (Serverloft) hat 30 Kunden mit u.a. gut frequentierten Shops, CMS-Seiten, etc. Insgesamt knapp 100Gb Traffic im Monat.

Ist der nicht unterdimensioniert, wenn es ein guter shop ist?
Der VServer den ich bei Hosteurope hatte (noch habe), der konnte bei
ab -n 100 -c 2 gerade einmal 3.28 Joomla Request verarbeiten. Was nicht sonderlich viel fand, der Root schafft hier 21.



Für die paar Websites ist der Server wirklich etwas groß. Unter einem kleinen Rootserver habe ich mir jetzt etwas Anderes vorgestellt. :D

Zu deiner Frage: Für den privaten Einsatz, bzw. wenn nur eine Handvoll Websites darauf laufen, würde ich NGINX bevorzugen. Da du aber von "Kunden" sprichst und es sich um mehr als ~5 Websites handeln wird, würde ich definitv auf Apache + PHP-FPM zurückgreifen, statt auf NGINX als Standalone. Warum? Weil NGINX keine .htaccess Regeln lesen kann, was schnell zu unzufriedenen Kunden, oder zu viel Herumbasteln an den vHost Configs führt. NGINX als Reverse Proxy vor Apache setzen, wäre eine gute Alternative.

Auf den Server dürfen nur Kunden drauf die ich auch betreue, sprich deren Website von unsere Webentwickler designt wurde. Sollte eine CMS, Plugin besondere .htaccess Anforderung haben, so kann ich die immer noch anpassen.

Es kommen pro Jahr ca 10-15 neue Kunden hinzu.
Ich möchte nicht erst zu einem größeren Server wechseln wenn Engpässe schon da sind. Daher der "kleine" RootServer.

Vielen dank für deine Meinung.



Nginx natuerlich, was fuer eine Frage.

Schlank, schnell und sehr simpel in der Konfiguration. - Egal auf welchem System. :cool:

Denkst du das macht sich bei so wenig Leistung überhaupt bemerkbar?
 
Auf den Server dürfen nur Kunden drauf die ich auch betreue, sprich deren Website von unsere Webentwickler designt wurde. Sollte eine CMS, Plugin besondere .htaccess Anforderung haben, so kann ich die immer noch anpassen.

...

Denkst du das macht sich bei so wenig Leistung überhaupt bemerkbar?
Wenn dir bewusst ist, dass du jede einzelne .htaccess Regel dann in die NGINX Syntax umschreiben musst und dir das nicht zu viel Arbeit ist, dann spricht nichts gegen NGINX. Ja, die bessere Performance wird sich auch, wenn nicht gerade, bei kleineren Servern bemerkbar machen.
 
Wenn dir bewusst ist, dass du jede einzelne .htaccess Regel dann in die NGINX Syntax umschreiben musst und dir das nicht zu viel Arbeit ist, dann spricht nichts gegen NGINX. Ja, die bessere Performance wird sich auch, wenn nicht gerade, bei kleineren Servern bemerkbar machen.

Da wir zu 90% Joomla und den rest Wordpress einsetzten, ist es ja immer das selbe was in die config bei einem neuen Kunden rein muss.
Wäre ja nur Copy and Paste, plus die Anpassung wie pfade etc.


Wenn der apache 20 Request gleichzeitig schafft der nginx 23 Request, dann mache ich mir die ganze mühe natürlich nicht. Würde er 30 Request schaffen sieht es wieder anders aus.

Kennst du/ihr eine paar gute Benchmark Vergleiche?
 
In deinem Fall geht ein Großteil der Request-Zeit auf das Parsen von PHP selbst. Der eingesetzte Webserver spielt eine eher untergeordnete Rolle. Auch wenn ich nginx sehr mag, in deinem Fall würde ich zu Apache greifen. Da läuft deine Software nahezu out of the box, du kannst Standard-Setup fahren und sparst dir einen Haufen Ärger in den Details.
 
Ist der nicht unterdimensioniert, wenn es ein guter shop ist?
Der VServer den ich bei Hosteurope hatte (noch habe), der konnte bei
ab -n 100 -c 2 gerade einmal 3.28 Joomla Request verarbeiten. Was nicht sonderlich viel fand, der Root schafft hier 21.
Einzig der RAM ist etwas knapp, zwingt die Maschine aber noch lange nicht in die Knie. Auf dem Server ist aber auch nicht eine Joomla-Installation ... CMSe sind nur mehrere Contao und 1x CMSmadesimple.

Bei 30 Kunden ist jetzt aber auch Schluss. Mehr kommen eh nicht auf unsere Server.
 
Wie wäre es mit einer Kombi?

Apache ist für PHP zuständig und kann .htaccess. Er lauscht lokal auf was anderem, als 80.

Auf dem Port 80 rennt der Nginx als reverse proxy und cached. Dazu liefert er statische Dateien direkt und komprimiert aus.
 
Man könnte zudem eine Alternative zu PHP-FPM in Betracht ziehen, beispielsweise mod_php mit mpm_itk. Da sparst du dir etwas Overhead (plus jede Menge RAM) und dürftest am Ende die performantere Variante haben.
 
Back
Top