Debian Apache緩存機制主要通過模塊化配置實現,核心模塊包括mod_cache、mod_cache_disk和mod_expires,以下是詳細說明:
安裝模塊
啟用mod_cache和mod_cache_disk模塊:
sudo a2enmod cache cache_disk expires
sudo systemctl restart apache2
配置緩存目錄
在/etc/apache2/apache2.conf或虛擬主機配置文件中添加:
<IfModule mod_cache.c>
<IfModule mod_cache_disk.c>
CacheEnable disk / # 啟用磁盤緩存,"/"表示緩存所有內容
CacheRoot "/var/cache/apache2/mod_cache_disk" # 緩存根目錄
CacheDirLevels 2 # 緩存目錄層級(避免單目錄文件過多)
CacheDirLength 1 # 每層目錄名長度
CacheIgnoreHeaders Set-Cookie # 忽略特定HTTP頭
CacheDefaultExpire 3600 # 默認緩存過期時間(秒)
</IfModule>
</IfModule>
按需配置規則
<Location "/static/">
CacheEnable disk
CacheMaxExpire 86400 # 靜態資源緩存1天
</Location>
<FilesMatch "\.(jpg|css|js)$">
CacheEnable disk
CacheIgnoreNoLastMod On # 忽略Last-Modified頭
</FilesMatch>
啟用過期頭控制
通過mod_expires設置不同文件類型的緩存時間:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/css "access plus 1 week"
ExpiresByType image/jpeg "access plus 1 month"
</IfModule>
curl -I檢查響應頭中的Cache-Control和Expires字段:curl -I http://example.com/static/image.jpg
CacheDirLevels和CacheDirLength平衡緩存分布與查找效率。CacheIgnoreHeaders排除敏感請求頭。sudo rm -rf /var/cache/apache2/mod_cache_disk/*
以上配置可有效利用Debian Apache的緩存機制,減少服務器負載并提升用戶訪問速度。