debian

Nginx如何配置静态资源缓存

小樊
86
2025-02-15 00:20:54
栏目: 编程语言

在Nginx中配置静态资源缓存可以显著提高网站的性能,减少服务器负载。以下是一个基本的配置示例,展示了如何设置静态资源的缓存:

  1. 打开Nginx配置文件: 通常位于 /etc/nginx/nginx.conf/etc/nginx/sites-available/default

  2. 配置静态资源缓存: 在 server 块中添加或修改 location 块来配置静态资源的缓存。以下是一个示例配置:

    server {
        listen 80;
        server_name example.com;
    
        # 静态资源目录
        root /var/www/html;
    
        # 缓存配置
        location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
            # 设置缓存时间
            expires 30d;
    
            # 缓存路径
            add_header Cache-Control "public";
    
            # 启用浏览器缓存
            add_header ETag on;
            add_header Last-Modified on;
    
            # 如果文件没有变化,直接从缓存中读取
            if_modified_since exact;
            if_none_match on;
        }
    
        # 其他配置...
    }
    

    解释:

    • location ~* \.(jpg|jpeg|png|gif|ico|css|js)$:匹配所有以 .jpg, .jpeg, .png, .gif, .ico, .css, .js 结尾的文件。
    • expires 30d:设置缓存时间为30天。
    • add_header Cache-Control "public":设置HTTP头信息,允许浏览器缓存资源。
    • add_header ETag onadd_header Last-Modified on:启用ETag和Last-Modified头信息,用于验证缓存。
    • if_modified_since exactif_none_match on:如果文件没有变化,直接从缓存中读取。
  3. 测试配置并重新加载Nginx: 在终端中运行以下命令来测试配置是否正确:

    sudo nginx -t
    

    如果配置正确,运行以下命令重新加载Nginx:

    sudo systemctl reload nginx
    

通过以上步骤,你可以为静态资源配置缓存,从而提高网站的性能和用户体验。根据实际需求,你可以调整缓存时间和缓存策略。

0
看了该问题的人还看了