温馨提示×

Ubuntu Nginx缓存策略设置

小樊
49
2025-07-16 07:04:09
栏目: 智能运维

在Ubuntu上配置Nginx的缓存策略,可以通过设置Nginx的缓存模块ngx_http_cache_module来实现。以下是一个基本的步骤指南:

1. 安装Nginx

如果你还没有安装Nginx,可以使用以下命令进行安装:

sudo apt update
sudo apt install nginx

2. 配置缓存目录

首先,你需要创建一个目录来存储缓存文件。通常,这个目录会放在/var/cache/nginx下。

sudo mkdir -p /var/cache/nginx
sudo chown -R www-data:www-data /var/cache/nginx

3. 配置Nginx

编辑Nginx的配置文件,通常位于/etc/nginx/nginx.conf/etc/nginx/sites-available/default

示例配置

以下是一个简单的示例配置,展示了如何设置缓存:

http {
    # 缓存路径
    proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;

    server {
        listen 80;
        server_name example.com;

        location / {
            # 启用缓存
            proxy_cache my_cache;
            proxy_pass http://backend_server;

            # 缓存控制头
            add_header X-Proxy-Cache $upstream_cache_status;

            # 缓存有效期
            expires 30d;
        }

        # 缓存静态文件
        location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
            expires 30d;
            add_header Cache-Control "public, no-transform";
        }
    }
}

4. 解释配置项

  • proxy_cache_path: 定义缓存路径和参数。

    • levels=1:2: 缓存目录的层级结构。
    • keys_zone=my_cache:10m: 缓存区域的名称和大小。
    • max_size=1g: 缓存的最大大小。
    • inactive=60m: 缓存项在未被访问后多久失效。
    • use_temp_path=off: 是否使用临时路径。
  • proxy_cache: 启用缓存并指定缓存区域。

  • add_header X-Proxy-Cache $upstream_cache_status;: 添加一个自定义头部,显示缓存状态。

  • expires 30d;: 设置资源的过期时间为30天。

  • add_header Cache-Control "public, no-transform";: 设置缓存控制头,允许公共缓存且不进行转换。

5. 重启Nginx

保存配置文件后,重启Nginx以应用更改:

sudo systemctl restart nginx

6. 验证缓存

你可以通过访问你的网站并检查响应头来验证缓存是否生效。例如,使用curl命令:

curl -I http://example.com

你应该能看到X-Proxy-Cache头部,显示缓存状态(如HITMISS等)。

通过以上步骤,你可以在Ubuntu上配置Nginx的缓存策略,以提高网站的性能和响应速度。

0