Aktivere caching med mod_cache_disk

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 Module mod_cache_disk

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

Har du flere spørsmål? Send oss en henvendelse