mod_cache_disk er en Apache-modul for caching av innhold, og som kan øke ytelsen på dine nettsider betraktelig.
Modulen aktiveres ved å redigere konfigurasjonsfilen for kontoen din. Du kan redigere filene lokalt på maskinen din og laste de opp vha. FTP/SFTP eller logge på med SSH og redigere vha. VI, nano e.l.
Aktivere modulen
Logg på kontoen med brukernavn og passord. Rediger filen apache-overrides-cache.conf som ligger i mappen /conf i roten av kontoen:
drwxr-x--- 2 w38709 w38709 4096 Aug 18 00:16 .
drwxr-x--- 10 w38709 w38709 4096 Aug 18 00:36 ..
-rw-r--r-- 1 root root 638 Aug 14 14:55 apache.conf
-rw-r----- 1 w38709 w38709 1847 Aug 18 00:16 apache-overrides-cache.conf
-rw-r----- 1 w38709 w38709 369 Aug 17 23:27 conf.bak
-rw-r--r-- 1 root root 339 Jun 9 12:04 php.ini
cd conf
vi apache-overrides-cache.conf
Innholdet i filen skal se slik ut når du er ferdig:
LoadModule cache_module /usr/lib/apache2/modules/mod_cache.so
LoadModule cache_disk_module /usr/lib/apache2/modules/mod_cache_disk.so
EnableSendfile On
CacheRoot ${HOME}/cache
CacheEnable disk /
CacheHeader On
CacheIgnoreHeaders Set-Cookie
CacheLock On
CacheLockPath ${HOME}/cache/cache-lock
CacheLockMaxAge 10
CacheDefaultExpire 3600
CacheMinExpire 300
CacheIgnoreNoLastMod On
CacheIgnoreCacheControl On
ExpiresActive On
ExpiresDefault A300
ExpiresByType application/javascript "access plus 5 minutes"
ExpiresByType text/css "access plus 5 minutes"
Du kan også laste ned en ferdig fil, med forklarende kommentarer til hvert direktiv, fra linken under.
Kontrollere størrelse på cachen
For å holde kontroll med størrelsen på cachen følger det med et verktøy i Apache som heter htcacheclean og som bør kjøres med jevne mellomrom vha. cron.
Rediger crontab ved å angi kommandoen crontab -e i shell:
crontab -e
Angi følgende til filen:
SHELL=/bin/bash
@hourly sleep ${RANDOM:0:2}m ; htcacheclean -n -l100M -p$HOME/cache
Avslutt med med ctrl-x og lagre endringene. NB! Påse at det ligger minst 1 tom linje crontab-filen, ellers vil ikke cron fungere.
Restart Apache
Dette gjør du enten med Stopp/Start i Kontrollpanelet, eller med følgende kommando i shell:
server restart
Du har nå aktivert serverside caching for nettsidene dine :) Mulighetene for tilpasning herfra er nært sagt endeløse, og du finner flere gode ressurser her:
Apache mod_cache in the Real World
Lurer du på noe? Spør oss!
PS: Dersom du har flere WebRoots tilkoplet samme konto skrur du på caching for alle. Det er ikke mulig å skru funksjonen av for enkelte WebRoots.
NB! WordPress-brukere!
Standard rewrite-regler i WordPress medfører problemer i kombinasjon med mod_disk_cache. Symptomer på dette er innlasting av feil side for en gitt URL, rendring av directory listings i stedet for nettsider o.l.
Dette forårsakes av at reglene i WordPress omskriver ALLE forespørsler til en enkelt URL istedet for unike (canonical) URLs. Caching-modulen ser bare den endelige omskrevne URL'en ved caching, og som jo er unik for alle forespørsler.
Dersom du bruker WordPress må du derfor endre følgende rewrite-rule i .htaccess:
RewriteRule . /index.php [L]
Til dette:
RewriteRule ^(.*)$ /index.php/$1 [L]
Se også vår bloggpost CACHING I WORDPRESS MED MOD_DISK_CACHE