如何配置Apache2的缓存机制
启用mod_cache和mod_cache_disk模块后,配置缓存目录、默认过期时间及按文件类型设置过期时间。可对特定目录通过.htaccess或虚拟主机配置文件进行缓存,通过响应头中Cache-Control和Expires验证缓存生效,提升网站性能。
说真的,Apache2的缓存机制一旦配置好,效果立竿见影。它主要靠mod_cache和mod_cache_disk这两个模块来完成,能让动态内容被稳稳地缓存下来,网站性能自然就上去了。这里整理了一份实操指南,照着走就行。

1. 启用必要的模块
首先,得把mod_cache和mod_cache_disk这两个模块激活。命令很简单,直接运行下面这几行:
sudo a2enmod cache
sudo a2enmod cache_disk
sudo systemctl restart apache2这一步是基础,不启用后面什么都玩不转。
2. 配置缓存
模块启用后,就该在Apache配置里设置缓存参数了。通常,你可以在 /etc/apache2/conf-a vailable/cache.conf 这个文件里操作。如果没有这个文件,自己新建一个就行。
创建或编辑缓存配置文件
sudo nano /etc/apache2/conf-a vailable/cache.conf添加缓存配置
在文件里把下面这段代码贴进去:
CacheEnable disk /my-cache
CacheRoot "/var/cache/apache2/mod_cache_disk"
CacheDirLevels 2
CacheDirLength 1
CacheDefaultExpire 3600
ExpiresActive On
ExpiresByType text/html "access plus 1 hour"
ExpiresByType text/css "access plus 1 week"
ExpiresByType application/ja vascript "access plus 1 week"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
配置说明
CacheEnable disk /my-cache:开启磁盘缓存,这里给缓存起了个名字叫/my-cache。CacheRoot:指定缓存文件存到哪个目录。CacheDirLevels和CacheDirLength:这两个参数决定了缓存目录的层级结构,简单说就是怎么在硬盘上组织这些缓存文件。CacheDefaultExpire 3600:默认缓存过期时间设为1小时,如果文件没特别指定,就按这个来。- 后面的
ExpiresByType部分,则是针对不同类型的文件(比如HTML、CSS、图片)分别设置过期时间,这样更精细。
3. 应用缓存配置
配置写好了,保存并关闭文件。然后运行下面命令,让配置生效:
sudo a2enconf cache
sudo systemctl restart apache2别急着收工,重启一下Apache,配置才算真正加载进去。
4. 配置特定目录的缓存
如果只想对站点的某个特定目录开启缓存,可以在该目录的 .htaccess 文件里,或者直接在虚拟主机配置里加点缓存指令。
在.htaccess文件中添加缓存指令
CacheEnable disk /my-cache
CacheIgnoreHeaders Set-Cookie
CacheIgnoreNoLastMod On
CacheMaxExpire 86400
CacheMinExpire 600
CacheLastModifiedFactor 0.5
CacheDefaultExpire 3600
在虚拟主机配置文件中添加缓存指令
编辑你的虚拟主机配置文件(通常在 /etc/apache2/sites-a vailable/ 目录下),然后加入类似这样的内容:
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
CacheEnable disk /my-cache
CacheIgnoreHeaders Set-Cookie
CacheIgnoreNoLastMod On
CacheMaxExpire 86400
CacheMinExpire 600
CacheLastModifiedFactor 0.5
CacheDefaultExpire 3600
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
相比之前的全局配置,这部分多了几个参数,比如 CacheIgnoreHeaders Set-Cookie 意思是忽略掉Set-Cookie头,避免缓存带cookie的响应;CacheMaxExpire 和 CacheMinExpire 则分别设定了缓存过期时间的上限和下限,让缓存策略更灵活。
5. 测试缓存
配置都搞定了,总得验证一下效果。最简单的方式,是用浏览器的开发者工具,或者直接命令行里用 curl 查看响应头:
curl -I http://yourwebsite.com如果配置成功,你应该会看到类似下面的响应头信息:
HTTP/1.1 200 OK
Date: Wed, 21 Oct 2023 07:28:00 GMT
Server: Apache/2.4.41 (Ubuntu)
Cache-Control: max-age=3600, public
Expires: Wed, 21 Oct 2023 08:28:00 GMT
...看到 Cache-Control 和 Expires 头出现了,就说明缓存已经生效,静态资源被稳稳地缓存起来了。
这套流程走下来,Apache2的缓存机制基本就配置好了,网站性能提升是肉眼可见的。
AirBuddy 3 是面向 macOS 的蓝牙外设增强工具,可集中查看 AirPods、Beats 与苹果设备电量,提供快速连接、播放控制、电量提醒、桌面小组件和多台 Mac 外设接力等功能。
AirServer macOS版可把 Mac 转换为无线投屏接收端,通过 AirPlay 或 Google Cast 接收手机、平板和电脑画面,并支持多设备同时连接、高清镜像及会话录制,适合家庭娱乐、课堂教学、会议演示和应用展示。
AnyDesk macOS版是一款适用于远程办公、设备维护和客户支持的远程桌面工具,可连接并操作异地计算机,支持文件传输、无人值守访问、会话权限控制及跨平台协作。
Fuzor Windows版是一套面向建筑、工程与施工团队的BIM/VDC平台,可汇集多来源模型和进度数据,完成实时可视化、4D施工推演、场地物流规划、问题检查、成果演示及团队协同。
Gety Windows版是一款本地AI文件搜索工具,可索引电脑中的文档和图片,通过全文搜索、语义检索与OCR快速定位内容,并提供原版式预览、筛选和AI工具连接功能。
iMazing Windows版是一款面向iPhone、iPad和iPod用户的本地设备管理工具,可在电脑上完成多版本备份、照片与音乐传输、信息导出、应用数据管理以及新旧设备迁移。













