温馨提示×

如何配置Nginx静态资源缓存

小樊
45
2025-12-25 09:07:17
栏目: 编程语言

配置Nginx静态资源缓存可以显著提高网站的性能和响应速度。以下是一个基本的步骤指南,帮助你配置Nginx来缓存静态资源:

1. 安装Nginx

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

sudo apt update
sudo apt install nginx

2. 配置Nginx

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

2.1 设置缓存目录

首先,创建一个目录用于存储缓存文件:

sudo mkdir -p /var/cache/nginx

2.2 配置缓存参数

在Nginx配置文件中添加或修改以下内容:

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 / {
            root /var/www/html;
            expires 30d;
            add_header Cache-Control "public";
        }

        location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
            root /var/www/html;
            expires 30d;
            add_header Cache-Control "public";
            proxy_cache my_cache;
            proxy_cache_valid 200 302 10m;
            proxy_cache_valid 404 1m;
        }
    }
}

解释配置项

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

    • levels=1:2: 缓存目录的层级结构。
    • keys_zone=my_cache:10m: 定义缓存区域的名称和大小。
    • max_size=1g: 缓存的最大总大小。
    • inactive=60m: 资源在缓存中保持有效的时间,超过这个时间将被删除。
    • use_temp_path=off: 不使用临时路径。
  • location /: 配置根目录的缓存策略。

    • expires 30d: 设置资源过期时间为30天。
    • add_header Cache-Control "public": 添加缓存控制头。
  • location ~* \.(jpg|jpeg|png|gif|ico|css|js)$: 匹配静态资源文件并配置缓存策略。

    • proxy_cache my_cache: 使用之前定义的缓存区域。
    • proxy_cache_valid 200 302 10m: 对于200和302状态码的响应,缓存10分钟。
    • proxy_cache_valid 404 1m: 对于404状态码的响应,缓存1分钟。

3. 测试配置

在保存配置文件后,测试Nginx配置是否正确:

sudo nginx -t

4. 重新加载Nginx

如果配置测试通过,重新加载Nginx以应用更改:

sudo systemctl reload nginx

5. 验证缓存

你可以通过访问网站并检查浏览器的开发者工具来验证静态资源是否被正确缓存。

通过以上步骤,你应该能够成功配置Nginx来缓存静态资源,从而提高网站的性能。

0