ZBLOG

那应该应该怎么再Nginx中设置过期时间

在 Nginx 中,您可以通过设置 expires 指令来指定静态文件的过期时间。以下是一些基本的配置示例,帮助您设置不同类型资源的过期时间。

基本设置

  1. 全局设置(在 http 块中): 您可以在 Nginx 的主配置文件(通常是 /etc/nginx/nginx.conf)中,在 http 块内设置默认的过期时间:
   http {
       ...
       expires 30d;  # 设置所有资源的默认过期时间为30天
       ...
   }
  1. 特定位置设置(在 server 或 location 块中): 您还可以针对特定路径或文件类型进行更细致的配置:
   server {
       listen 80;
       server_name example.com;

       location / {
           root /path/to/your/site;
           index index.html;
           
           expires 7d;  # 默认所有资源过期时间为7天
       }

       location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
           expires 30d;  # 针对图片、CSS和JavaScript文件,设置30天的过期时间
           add_header Cache-Control "public, max-age=2592000";  # 可选:添加Cache-Control头部信息
       }
       
       location ~* \.(html)$ {
           expires -1;  # 不缓存HTML文件(即不建议缓存)
           add_header Cache-Control "no-cache";
       }
   }

时间单位

  • s:秒 (seconds)
  • m:分钟 (minutes)
  • h:小时 (hours)
  • d:天 (days)
  • M:月份 (months) - 注意并非精确值,通常按30天计算
  • y:年 (years)

添加 Cache-Control 响应头

为了增强浏览器缓存控制,可以结合使用 add_header 指令。例如:

location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
    expires 30d;
    add_header Cache-Control "public, max-age=2592000"; 
}

重启 Nginx

修改完配置后,记得验证配置是否正确并重启 Nginx:

sudo nginx -t    # 检查配置是否正确
sudo systemctl restart nginx  # 重启Nginx服务

通过以上方式,您就可以有效地管理资源的过期时间,从而优化网站性能和用户体验。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=20074

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?