Lighttpd mod_compress gzip Komprimierung
Alle modernen Browser unterstützen mittlerweile die Übertragung von Inhalten in komprimierter Form. Der hierfür eingesetzte gzip Algorithmus ist schnell und auf jeder Plattform verfügbar. Das spart nicht nur Traffic, sondern lässt die Seite auch noch schneller beim User erscheinen. Beim lighttpd gibt es dafür das Modul mod_compress. In aktuellen Apache2 Versionen gibt es mod_deflate. Mod_compress arbeitet dabei etwas anders als mod_deflate. Während bei der Apache Version die komprimierten Daten nicht zwischen gespeichert werden, sondern bei jedem Aufruf neu komprimiert werden, legt lighttpd mit mod_compress die komprimierte Datei in einem Cache Ordner ab. Der Performance Gewinn ist aber nur gering.
mod_compress einrichten
Die Einrichtung ist sehr einfach. Man muss das Modul nur laden, sagen welche Dateien komprimiert werden sollen und in welchem Ordner sie zwischen gecached werden sollen.
$ nano /etc/lighttpd/lighttpd.conf $ /etc/init.d/lighttpd restart
server.modules += ( "mod_compress" )
compress.filetype = (
"text/plain",
"text/html",
"text/xml",
"text/css",
"text/javascript",
"application/xml",
"application/xhtml+xml",
"application/rss+xml",
"application/javascript",
"application/x-javascript"
)
compress.cache-dir = "/var/cache/lighttpd/compress/"
Das Verzeichnis muss vom Webserveruser geschrieben werden können. Bei Debian ist dies www-data. Wer gern vhost einzelne Cache Ordner haben möchte, kann compress.cache-dir auch in der vhost Config angeben.
$HTTP["host"] =~ "www\.example\.org" {
compress.cache-dir = "/var/www/vhost/cache/"
}
Ob die Daten wirklich gzip komprimiert ausgeliefert werden, kann man mit Firebug testen.

Cache Verzeichnis säubern
Um das säubern des Caches muss man sich selbst kümmern. Dafür reicht es wenn man ein einfaches Crontab täglich ausführt. Eine Lösung gibt es hier, sowie im Manual.
Ein Kommentar
dirk
schrieb am 06.04.2011 um 20:44 Uhr
stimmt nicht, von haus aus ist ein lighttpd cron installiert der das compress verzeichniss säubert, jedenfalls bei debian squeeze!