linux

Nginx如何实现静态资源缓存

小樊
40
2025-05-04 05:45:47
栏目: 编程语言

Nginx可以通过配置文件来实现静态资源的缓存。以下是一些关键步骤和配置示例:

1. 配置缓存路径

首先,你需要指定一个目录来存储缓存文件。

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;

2. 配置静态资源缓存

server块中配置静态资源的缓存规则。

server {
    listen 80;
    server_name example.com;

    location /static/ {
        alias /var/www/static/;
        expires 30d;
        add_header Cache-Control "public";
        proxy_cache my_cache;
        proxy_cache_valid 200 302 10m;
        proxy_cache_valid 404 1m;
    }

    location / {
        proxy_pass http://backend_server;
        proxy_cache my_cache;
        proxy_cache_valid 200 302 10m;
        proxy_cache_valid 404 1m;
    }
}

3. 配置动态内容缓存(可选)

如果你也想缓存动态内容,可以类似地配置。

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. 清除缓存

你可以通过以下命令清除缓存:

nginx -s stop
rm -rf /var/cache/nginx/*
nginx -s start

或者使用Nginx的ngx_cache_purge模块:

purge_cache.sh "http://example.com/static/image.png";

其中purge_cache.sh是一个脚本,用于清除特定URL的缓存。

总结

通过上述配置,你可以有效地利用Nginx来缓存静态资源,提高网站的加载速度和性能。根据实际需求调整缓存策略和参数。

0
看了该问题的人还看了