ubuntu

Ubuntu Nginx配置中如何设置缓存

小樊
47
2025-09-19 14:19:48
栏目: 智能运维

在Ubuntu系统中,使用Nginx作为Web服务器时,可以通过配置Nginx的缓存功能来提高网站性能。以下是设置Nginx缓存的步骤:

  1. 安装Nginx缓存模块(可选): Nginx默认不包含缓存模块,但你可以安装第三方模块,如ngx_cache_purge或nginx-cache-persist。这里以安装nginx-cache-persist为例:

    sudo apt-get update
    sudo apt-get install nginx-cache-persist
    
  2. 修改Nginx配置文件: 打开Nginx配置文件,通常位于/etc/nginx/sites-available/目录下。例如,如果你要为域名example.com设置缓存,请编辑/etc/nginx/sites-available/example.com文件。

    sudo nano /etc/nginx/sites-available/example.com
    
  3. server块中添加缓存配置: 在server块中,添加以下代码以配置缓存路径、缓存键和缓存有效期:

    location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
        expires 30d;
        add_header Cache-Control "public";
        add_header X-Cache-Status $upstream_cache_status;
    
        proxy_cache_key "$scheme$request_method$host$request_uri";
        proxy_cache_valid 200 30d;
        proxy_cache_valid 404 1m;
    
        proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;
        proxy_cache my_cache;
        proxy_cache_bypass $http_cache_control;
        proxy_cache_revalidate on;
        proxy_pass http://your_backend_server;
    }
    

    这里的配置表示:

    • 缓存静态文件(如图片、CSS和JavaScript文件),缓存有效期为30天。
    • 使用proxy_cache_key指令自定义缓存键。
    • 设置缓存路径为/var/cache/nginx,缓存区域名为my_cache,最大缓存大小为1GB,缓存文件在60分钟后失效。
    • 使用proxy_cache指令启用缓存。
    • 使用proxy_cache_bypass指令绕过缓存(如果客户端发送了Cache-Control请求头)。
    • 使用proxy_cache_revalidate指令启用缓存重新验证。
  4. 保存并退出配置文件。

  5. 测试Nginx配置: 在重启Nginx之前,先测试配置文件是否有语法错误:

    sudo nginx -t
    

    如果输出显示配置文件语法正确,继续下一步。

  6. 重启Nginx: 重启Nginx以应用更改:

    sudo systemctl restart nginx
    

现在,Nginx已经为指定的静态文件启用了缓存功能。你可以根据需要调整缓存设置,例如更改缓存有效期或添加其他文件类型。

0
看了该问题的人还看了