Apache mod_cache本身只是缓存框架,必须搭配mod_cache_disk等后端模块,按序加载、配置CacheEnable路径、CacheRoot权限及合规响应头(如Cache-Control: public, max-age)才能生效。
apache 的 mod_cache 不能“全局开启”就生效——它本身只是缓存框架,必须搭配后端存储模块(如 mod_cache_disk 或 mod_mem_cache),并完成路径、权限、响应头等关键配置,才可能真正缓存内容。
必须加载并验证两个核心模块
缺一不可,且加载顺序严格:先 mod_cache,再后端模块。
- Debian/Ubuntu:
a2enmod cache cache_disk,然后重启 Apache - RHEL/CentOS:检查
/etc/httpd/conf.modules.d/00-base.conf中这两行未被注释:LoadModule cache_module modules/mod_cache.soLoadModule cache_disk_module modules/mod_cache_disk.so - Windows(如 XAMPP):确认
httpd.conf中两行均存在且路径正确 - 验证命令:
apache2ctl -M | grep cache或httpd -M | grep cache,输出中必须同时含cache_module和cache_disk_module
指定可写、本地化的磁盘缓存根目录
仅设置 CacheRoot 不够,目录本身必须由 Apache 进程用户(如 www-data 或 apache)完全可读写,且不能位于网络或临时挂载点。
使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。
- 典型路径:
CacheRoot /var/cache/apache2/mod_cache_disk - 执行:
sudo mkdir -p /var/cache/apache2/mod_cache_disk && sudo chown www-data:www-data /var/cache/apache2/mod_cache_disk - 剩余空间建议 ≥5GB;禁止设在
/tmp、NFS、Samba、OneDrive 同步目录或 NTFS 加密卷
启用缓存需明确作用路径,不能只靠“全局开关”
CacheEnable disk / 看似全局,但实际风险高:它会尝试缓存所有响应(包括带 Cookie 的登录页、管理接口、404 页面等),而这些默认被跳过。更稳妥的是限定范围。
- 静态资源推荐路径前缀:
CacheEnable disk /static/或/assets/ - 代理后端接口(需配合
mod_proxy):CacheEnable disk /api/(匹配原始请求路径,非后端真实地址) - 务必配合:
CacheIgnoreHeaders Set-Cookie(若确认业务无状态)
响应头必须满足缓存前提
即使模块和路径都对,只要响应含 Set-Cookie、Cache-Control: private 或状态码为 500,缓存仍不会写入。
- 静态资源(JS/CSS/图片)应返回:
Cache-Control: public, max-age=31536000 - 动态接口需后端显式输出:
public+max-age,禁用private、no-store、Vary: * - 用
curl -I https://yoursite.com/static/main.js检查真实响应头是否合规

















