linux

如何通过Nginx配置缓存静态资源

小樊
52
2025-08-09 20:16:55
栏目: 编程语言

通过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 基本配置

确保你的Nginx配置文件中有以下基本配置:

server {
    listen 80;
    server_name example.com;

    root /var/www/html;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
}

2.2 配置静态资源缓存

server 块中添加以下配置来缓存静态资源:

location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
    expires 30d;
    add_header Cache-Control "public";
}

这个配置的意思是:

3. 测试配置

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

sudo nginx -t

如果配置正确,你会看到类似以下的输出:

nginx: configuration file /etc/nginx/nginx.conf test is successful

4. 重新加载Nginx

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

sudo systemctl reload nginx

5. 验证缓存

你可以通过访问你的网站并检查浏览器的开发者工具来验证静态资源是否被正确缓存。在开发者工具的“Network”标签中,你可以看到每个资源的响应头信息,包括 Cache-ControlExpires 头。

高级配置

如果你需要更高级的缓存配置,可以考虑以下几点:

以下是一个更高级的配置示例:

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;

    root /var/www/html;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

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

这个配置示例中,我们使用了 proxy_cache 来缓存通过代理服务器提供的静态资源,并设置了不同的缓存有效期。

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

0
看了该问题的人还看了