发布于2026-07-14 阅读(0)
扫一扫,手机访问
说真的,Apache2的缓存机制一旦配置好,效果立竿见影。它主要靠mod_cache和mod_cache_disk这两个模块来完成,能让动态内容被稳稳地缓存下来,网站性能自然就上去了。这里整理了一份实操指南,照着走就行。

首先,得把mod_cache和mod_cache_disk这两个模块激活。命令很简单,直接运行下面这几行:
sudo a2enmod cache
sudo a2enmod cache_disk
sudo systemctl restart apache2这一步是基础,不启用后面什么都玩不转。
模块启用后,就该在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、图片)分别设置过期时间,这样更精细。配置写好了,保存并关闭文件。然后运行下面命令,让配置生效:
sudo a2enconf cache
sudo systemctl restart apache2别急着收工,重启一下Apache,配置才算真正加载进去。
如果只想对站点的某个特定目录开启缓存,可以在该目录的 .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 则分别设定了缓存过期时间的上限和下限,让缓存策略更灵活。
配置都搞定了,总得验证一下效果。最简单的方式,是用浏览器的开发者工具,或者直接命令行里用 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的缓存机制基本就配置好了,网站性能提升是肉眼可见的。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8