在 CentOS 上配置 Apache2 緩存可以通過多種方式實現,其中最常用的是使用 mod_cache
和 mod_cache_disk
模塊。以下是一個基本的步驟指南,幫助你在 CentOS 上配置 Apache2 緩存:
首先,確保你已經安裝了 Apache2 和必要的模塊。你可以使用以下命令來安裝:
sudo yum install httpd mod_cache mod_cache_disk
啟用 mod_cache
和 mod_cache_disk
模塊:
sudo systemctl enable httpd
sudo systemctl start httpd
sudo systemctl status httpd
然后啟用緩存模塊:
sudo sed -i 's/#LoadModule cache_module modules\/mod_cache.so/LoadModule cache_module modules\/mod_cache.so/' /etc/httpd/conf/httpd.conf
sudo sed -i 's/#LoadModule cache_disk_module modules\/mod_cache_disk.so/LoadModule cache_disk_module modules\/mod_cache_disk.so/' /etc/httpd/conf/httpd.conf
編輯 Apache 配置文件(通常是 /etc/httpd/conf/httpd.conf
或 /etc/httpd/conf.d/
目錄下的文件),添加緩存配置。以下是一個基本的配置示例:
<IfModule mod_cache.c>
<IfModule mod_cache_disk.c>
CacheRoot "/var/cache/httpd"
CacheEnable disk /
CacheDirLevels 2
CacheDirLength 1
CacheIgnoreHeaders Set-Cookie
CacheIgnoreNoLastMod On
CacheDefaultExpire 3600
</IfModule>
</IfModule>
如果你只想對特定目錄啟用緩存,可以在配置文件中添加 <Location>
或 <Directory>
塊:
<IfModule mod_cache.c>
<IfModule mod_cache_disk.c>
CacheEnable disk /example
CacheDirLevels 2
CacheDirLength 1
CacheIgnoreHeaders Set-Cookie
CacheIgnoreNoLastMod On
CacheDefaultExpire 3600
</IfModule>
</IfModule>
<Location "/example">
SetOutputFilter CACHE
</Location>
保存配置文件并重啟 Apache 服務以應用更改:
sudo systemctl restart httpd
你可以通過訪問你的網站并檢查響應頭中的 X-Cache
或 X-Cache-Lookup
來驗證緩存是否生效。
curl -I http://yourwebsite.com/example
如果一切配置正確,你應該會看到類似以下的響應頭:
HTTP/1.1 200 OK
...
X-Cache: HIT
X-Cache-Lookup: HIT from yourwebsite.com:80
...
這表明請求已經被緩存。
/var/cache/httpd
)有適當的權限,以便 Apache 可以讀寫該目錄。通過以上步驟,你應該能夠在 CentOS 上成功配置 Apache2 緩存。