在 CentOS 系统中,可以通过修改 Nginx 或 Apache 服务器的配置文件来设置缓存过期时间。以下是针对这两个服务器的设置方法:
对于 Nginx 服务器:
/etc/nginx/nginx.conf 或 /etc/nginx/conf.d/default.conf。使用文本编辑器打开,例如:sudo vi /etc/nginx/nginx.conf
或者
sudo vi /etc/nginx/conf.d/default.conf
http、server 或 location 块中,添加或修改以下配置:location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 30d;
add_header Cache-Control "public";
}
这里的 expires 30d; 表示设置缓存过期时间为 30 天。你可以根据需要修改这个值。
保存配置文件并退出文本编辑器。
重新加载 Nginx 以应用更改:
sudo systemctl reload nginx
对于 Apache 服务器:
/etc/httpd/conf/httpd.conf 或 /etc/apache2/apache2.conf。使用文本编辑器打开,例如:sudo vi /etc/httpd/conf/httpd.conf
或者
sudo vi /etc/apache2/apache2.conf
<IfModule mod_expires.c> 块中,添加或修改以下配置:<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 30 days"
ExpiresByType image/jpeg "access plus 30 days"
ExpiresByType image/png "access plus 30 days"
ExpiresByType image/gif "access plus 30 days"
ExpiresByType text/css "access plus 30 days"
ExpiresByType application/javascript "access plus 30 days"
</IfModule>
这里的 access plus 30 days 表示设置缓存过期时间为 30 天。你可以根据需要修改这个值。
保存配置文件并退出文本编辑器。
重新加载 Apache 以应用更改:
对于 CentOS 7 及更早版本:
sudo systemctl reload httpd
对于 CentOS 8:
sudo systemctl reload apache2
现在,你已经成功设置了 CentOS 上 Nginx 或 Apache 服务器的缓存过期时间。