ZBLOG

nginx缓存上游的html,css,js文件

在 Nginx 中缓存上游服务器返回的 HTML、CSS 和 JS 文件可以通过配置代理缓存来实现。下面是一个基本的示例配置,展示了如何设置 Nginx 以缓存来自上游服务器(如应用服务器或其他 HTTP 服务)的静态文件。

Nginx 配置示例

  1. http {
  2. # 定义缓存路径和相关参数
  3. proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;
  4. server {
  5. listen 80;
  6. server_name your_domain.com;
  7. location / {
  8. proxy_pass http://upstream_server; # 替换为你的上游服务器地址
  9. proxy_set_header Host $host;
  10. proxy_set_header X-Real-IP $remote_addr;
  11. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  12. proxy_set_header X-Forwarded-Proto $scheme;
  13. # 启用缓存
  14. proxy_cache my_cache;
  15. proxy_cache_valid 200 60m; # 对于200响应,缓存60分钟
  16. proxy_cache_valid 404 1m; # 对于404响应,缓存1分钟
  17. add_header X-Cache-Status $upstream_cache_status; # 添加自定义头部查看缓存状态
  18. }
  19. location ~* \.(html|css|js)$ {
  20. expires 30d; # 设置过期时间为30天
  21. add_header Cache-Control "public, max-age=2592000";
  22. }
  23. }
  24. }

配置说明

  1. proxy_cache_path: 定义了 Nginx 缓存的位置和相关参数。

    • levels: 缓存目录结构的层级。
    • keys_zone: 指定一个共享内存区域来存储有关已缓存内容的信息。
    • max_size: 设置最大缓存大小。
    • inactive: 在此时间内未被访问的内容将被删除。
  2. server: 创建一个监听特定端口的虚拟主机。

  3. location /: 所有请求都转发到上游服务器,同时开启代理缓存。

  4. location ~* \.(html|css|js)$: 对于 HTML、CSS 和 JS 文件进行额外处理,例如设置过期时间和 Cache-Control 策略。

  5. add_header X-Cache-Status ...: 可以帮助调试和监控哪些内容是从缓存中提供的,哪些是直接从上游获取的。

注意事项

  • 确保 Nginx 有权限写入指定的缓冲路径 /var/cache/nginx/.
  • 根据需要调整 max_size, inactive, 和其他参数以适应你的需求。
  • 每次更新后,重启 Nginx 或重新加载配置文件 (nginx -s reload)。

希望这个示例能帮到你!如果你有其他具体问题,请告诉我。


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

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?