PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Webserver] Lighthttpd - Die Alternative zu Apache


Lord_Pinhead
22.04.06, 06:30:39
So, ich hab jetzt endlich mal die alternative zum sehr beliebten Webserver Apache getestet. Ich bin wirklich positiv überrascht von der Performance. Mit Mediawiki, dem punBB und phpBB2 Forum habe ich ein paar Benchmarks gemacht auf ein paar Einträge. Resultat: Der kleine Lighthttpd ist bis zu 30% schneller bei Dynamischen Content. Dann habe ich ein statische HTML auf dem Server geladen (150KB) und nochmal beide Server getestet. Das Ergebnis: Lighthttpd ist >50% schneller bei statischen Content. Wer seine Dynamischen Webseiten jetzt mit der Cache-Engine verbindet erreicht ein wirklichen Traumspeed.

Da leider noch die eine oder andere Funktion fehlt bzw. das eine oder andere Modul, wird der Lighthttpd erstmal nicht auf dem SP Server Einzug haben. Aber sobald alles soweit ist, werden wir sicherlich einmal darüber nachdenken den Apache zu begraben und lieber Lighthttpd mit FastCGI zu nehmen. Wer es schon testen möchte, einfach auf die Homepage[1] des Projekts gehen und die Source runterladen. Debian Packete gibt es nur im unstable Zweig, daher habe ich gar nicht erst daran gedacht den einzutragen ;) Hier mal eine kurze Vorgehensweise bei einer Debianinstallation:


intranet:~# wget http://www.lighttpd.net/download/lighttpd-1.4.11.tar.gz
intranet:~# tar -xzf lighttpd-1.4.11.tar.gz
intranet:~# cd lighttpd-1.4.11/
intranet:~# apt-get install dh-make autoconf php4-cgi gcc make
intranet:~# dh_make
intranet:~# dpkg-buildpackage -us -uc
intranet:~# dpkg -i ../lighttpd_1.4.11-1_i386.deb
intranet:~# cat openwrt/lighttpd.conf | sed "s/\/www/\/var\/www/g" > /etc/lighttpd.conf
intranet:~# echo -en "
server.groupname = \"www-data\"\nserver.username = \"www-data\"\n
#
# Vhost Name
#
$HTTP[\"host\"] == \"eure.domain\" {
server.indexfiles = ( \"index.php\", \"index.html\" )
server.document-root = \"/pfad/zu/eurem/webdir\"
\tfastcgi.server = ( \".php\" =>( \"localhost\" =>
\t\t(
\t\t\t\"socket\" => \"/tmp/run/php-fastcgi.socket\",
\t\t\t\"bin-path\" => \"/usr/bin/php4-cgi\"
\t\t\t)
\t\t)
\t)
}\n" >> /etc/lighttpd.conf
intranet:~# lighttpd -f /etc/lighttpd.conf
intranet:~# echo „192.168.2.110 eure.domain“ >> /etc/hosts #ip anpassen
intranet:~# echo "cgi.fix_pathinfo = 1" >> /etc/php4/cgi/php.ini
intranet:~# cat php.ini | sed -s "s/\;extension=mysql.so/extension=mysql.so/g" > php.ini
intranet:~# lynx eure.domain


Voila, so einfach kann das gehen :) Da PHP nicht als Modul auf Lighthttpd läuf, wird es einfach als CGI mit eingebunden. Wer es noch schneller haben will, der kann gerne PHP selbst Kompilieren und dann mit FastCGI Option (Anleitungen gibt es massenhaft im Internet). Ich hab mal die Grundstruktur von meiner Config angehängt. Der echo Befehl lässt sich einfach anpassen und in ein kleines Shellscript übertragen, dann könnt Ihr Domains und Subdomains schnell anlegen. Wer einen Bind laufen hat (DNS), dem sei gesagt das jede Subdomain auch dort eingetragen werden muss. Ansonsten der Trick mit der hosts den ich schon oben gezeigt habe :)

So, hoffe ein paar Testen das auf Ihren Kisten, ist echt super daheim ein Webserver stehen zu haben ;)

MFG
Lord Pinhead

Links:
[1] http://www.lighttpd.net

blue
22.04.06, 20:01:56
Oh kool, werde mir den auch mal installieren und durch testen.

Gibt es Debian Pakete oder muss ich mir das Teil selbst kompilieren?
Außerdem, wie siehts aus mit PHP5 unterstützung? Ist die direkt implementiert oder muss ich an der Config noch basteln?

Lord_Pinhead
22.04.06, 20:21:14
Debian Pakete gibts nur in der Unstable Variante, deshalb hab ich mir einfach das ganze selbst kompiliert und als Paket geschnürrt (siehe post)

PHP musst du als CGI laufen lassen. Also php4-cgi z.b. installieren, oder php5 als fastcgi kompilieren, dann einfach ausführen lassen. Das siehst du doch in meinen Post in der "config" :D