在 Nginx 中强制缓存 HTML、CSS 和 JS 文件,可以通过配置适当的 expires
和 cache-control
头来实现。以下是一个基本的示例,展示了如何设置这些缓存策略。
打开你的 Nginx 配置文件: 通常情况下,Nginx 的主配置文件位于
/etc/nginx/nginx.conf
,或者你可以在/etc/nginx/sites-available/
下找到相应的网站配置文件。添加或修改 server 块: 在你的 server 块中,添加下面的配置,以设置针对 HTML、CSS 和 JS 文件的缓存策略:
server {
listen 80;
server_name yourdomain.com;
location / {
# 设置默认页面
index index.html;
}
# 强制缓存 HTML 文件
location ~* \.html$ {
expires 1h; # 缓存时间为 1 小时
add_header Cache-Control "public, max-age=3600"; # 设置 Cache-Control 响应头
}
# 强制缓存 CSS 文件
location ~* \.css$ {
expires 7d; # 缓存时间为 7 天
add_header Cache-Control "public, max-age=604800"; # 设置 Cache-Control 响应头
}
# 强制缓存 JS 文件
location ~* \.js$ {
expires 7d; # 缓存时间为 7 天
add_header Cache-Control "public, max-age=604800"; # 设置 Cache-Control 响应头
}
# 为其他静态文件(如图片等)也可以设置类似的规则...
}
解释配置:
expires
指令用于告诉浏览器资源可以被缓存多长时间。add_header
指令用于添加 HTTP 响应头,这里使用了Cache-Control
来指定缓存政策。
检查并重启 Nginx: 保存你的配置后,需要检查是否有语法错误,然后重启 Nginx:
sudo nginx -t # 检查 Nginx 配置文件是否有误
sudo systemctl restart nginx # 重启 Nginx 服务以应用更改
- 测试:
使用浏览器开发者工具(F12),查看网络请求的响应头,以确认
Expires
和Cache-Control
是否正确返回。
通过以上步骤,你就可以让 Nginx 强制缓存 HTML、CSS 和 JS 文件,从而提高网站性能和用户体验。
内容由零声教学AI助手提供,问题来源于学员提问