温馨提示×

Nginx在Linux上如何配置缓存

小樊
32
2025-12-14 21:39:31
栏目: 智能运维

在Linux上配置Nginx缓存可以显著提高网站性能。以下是一个基本的步骤指南,帮助你在Nginx中设置缓存:

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

sudo nano /etc/nginx/nginx.conf

http块中添加缓存配置:

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_pass http://backend_server;
            proxy_cache my_cache;
            proxy_cache_valid 200 302 10m;
            proxy_cache_valid 404 1m;
            add_header X-Proxy-Cache $upstream_cache_status;
        }
    }
}

4. 解释配置

  • 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: 指定使用的缓存区域。

  • proxy_cache_valid: 定义不同HTTP状态码的缓存时间。

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

5. 重启Nginx

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

sudo systemctl restart nginx

6. 验证缓存

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

curl -I http://example.com

你应该能看到类似以下的响应头:

HTTP/1.1 200 OK
Server: nginx/1.18.0 (Ubuntu)
Date: Thu, 01 Jan 2020 00:00:00 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Cache-Control: max-age=600
X-Proxy-Cache: HIT

X-Proxy-Cache: HIT表示请求被缓存命中。

通过以上步骤,你就可以在Linux上成功配置Nginx缓存了。根据你的具体需求,你可以进一步调整缓存参数以优化性能。

0