PDA

Bekijk Volledige Versie : nginx waardig alternatief voor apache?



Tim.Bracquez
22/06/08, 20:51
Na enge tijd het beheren van web servers begint die apache wel eens lastig te doen.
Bij sites die veel bezocht worden merk je het cpu / memory gebruik van apache (httpd) toenemen.
Hiervoor reeds enkele aanpassingen gedaan voor het geheel wat stabieler en sneller te maken.

Echter vroeg ik me af of jullie ervaring hadden met nginx of lighthttpd, zijn deze werkelijk sneller? Ik zie veelal grafieken waar lighthttpd sneller is dan apache en nginx dan nog eens sneller.

Nginx ondersteund de bytes log van directadmin http://www.directadmin.com/forum/showthread.php?t=20133 voor lighthttpd heb ik dit nog niet opgezocht.
Ondersteunen deze 'alternatieven' alles van apache of zijn hierin tekortkomingen?

galious
23/06/08, 09:26
nginx ondersteund niet alles. Bv. geen mod_perl, en geen .htaccess. Ik volg nginx nu al een tijdje en de ondersteuning is volgens mij wel dik orde. Bij problemen vaak al in een paar uur antwoord van de auteur, indien nodig inclusief patch.

lighttpd lees ik steeds meer over dat het nogal wat geheugenproblemen heeft.

Groeten,

Martin

Tim.Bracquez
23/06/08, 09:43
nginx ondersteund niet alles. Bv. geen mod_perl, en geen .htaccess.

Bedankt galious,

Je verteld daar dat nginx geen .htaccess ondersteund, ondersteund die dan helemaal niets of ontbreken er dingen in de ondersteuning?

Zou het wel graag mogelijk maken om de URL te laten herschrijven à la /page/2 ipv. ?page=2. Ik vermoed dat dit dan niet meer mogelijk is? Is dit dan via een andere manier wel mogelijk?

Lighthttpd heb ik ook gelezen dat die bij bepaalde dingen steeds meer en meer geheugen gebruikt, dus momenteel gaat mijn voorkeur uit naar nginx.

frankske
23/06/08, 10:22
URL rewriting is zeker mogelijk, alleen niet via .htaccess files.

Tim.Bracquez
23/06/08, 10:27
URL rewriting is zeker mogelijk, alleen niet via .htaccess files.

Iemand hiervoor een link naar wat informatie hierover want ik weet niet bepaald hoe dat dan moet gebeuren :o

Wido
23/06/08, 10:37
Apache is een goede webserver, maar het grote probleem is nog steeds het prefork model in combinatie met PHP.

Wanneer je alleen Python of Ruby draait kan je over gaan naar het worker model waarbij je Apache threaded draait en dan zie je ineens je performance omhoog schieten en je geheugen gebruik omlaag gaan.

Het probleem met PHP zit hem niet in de core zelf, maar in veel extensies van PHP die niet thread-safe zijn, onder andere de gettext extensie.

Ik ben met een devver van ons bezig om te kijken hoe we PHP kunnen gaan draaien in threaded mode, al is het al wel mogelijk: http://brian.moonspot.net/2008/02/13/apache-worker-and-php/

Dus geef niet direct Apache de schuld, maar kijk eens goed naar de modules die gebruikt worden.

galious
23/06/08, 14:11
rewrite gebeurt in de config-file zelf. Zie
http://wiki.codemongers.com/NginxHttpRewriteModule

Bv.

location /old_stuff/ {
rewrite ^/old_stuff/(.*)$ /new_stuff/$1 permanent;
}


Als je nginx gaat uittesten kan ik je aanraden om je te abonneren op de mailinglijst, hier komen vaak interessante vragen en oplossing langs.

B.v geen 'if (-e filename)' maar 'recursive error pages'.

Groeten,

Martin

Tim.Bracquez
23/06/08, 14:44
Bedankt galious,

Ik ga hiermee alvast is aan de slag, maar ga ook zoals Wido zegt mij wat verdiepen in apache.