在 Ubuntu 上通过 Apache2 启用缓存,通常有几种常见方式,取决于你想做哪种缓存:
通过 mod_expires 和 mod_headers 控制静态资源缓存时间。
sudo a2enmod expires
sudo a2enmod headers
sudo systemctl restart apache2
编辑站点配置(如 /etc/apache2/sites-available/000-default.conf)或 .htaccess:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType text/css "access plus 1 week"
ExpiresByType application/javascript "access plus 1 week"
</IfModule>
适合缓存静态文件,减少磁盘 IO。
sudo a2enmod cache
sudo a2enmod cache_disk
sudo systemctl restart apache2
在 Apache 配置中添加:
<IfModule mod_cache.c>
CacheEnable disk /
CacheRoot /var/cache/apache2/mod_cache_disk
CacheDirLevels 2
CacheDirLength 1
CacheMaxFileSize 1048576
</IfModule>
创建缓存目录:
sudo mkdir -p /var/cache/apache2/mod_cache_disk
sudo chown -R www-data:www-data /var/cache/apache2
如果你用 Apache 做反向代理(如代理后端 API / 网站):
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod cache
sudo a2enmod cache_disk
示例配置:
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/
CacheEnable disk /
CacheRoot /var/cache/apache2/mod_cache_disk
apachectl -M | grep cache
curl -I http://your-site.com
看是否有:
Cache-Control
Expires
Age
如果你能说明是 静态网站 / 动态网站 / 反向代理 / API 缓存,我可以给你更精确配置。