在Nginx中配置缓存可以显著提高网站的性能,减少后端服务器的负载。以下是一个基本的Nginx缓存配置示例:
安装Nginx和相关模块:
确保你已经安装了Nginx,并且启用了必要的模块,如ngx_cache和ngx_cache_purge。
配置缓存路径和大小:
在Nginx配置文件中(通常是/etc/nginx/nginx.conf或/etc/nginx/conf.d/default.conf),添加或修改以下内容:
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;
proxy_cache_valid 200 302 10m;
proxy_cache_valid 404 1m;
# 缓存控制头
add_header X-Proxy-Cache $upstream_cache_status;
# 缓存清除
location ~ /purge(/.*) {
allow 127.0.0.1;
deny all;
proxy_cache_purge my_cache $scheme://$host$request_uri;
}
}
}
}
解释:
proxy_cache_path:定义缓存路径、缓存级别、缓存区名称、最大缓存大小、缓存失效时间和临时路径。proxy_cache:启用缓存并指定缓存区名称。proxy_cache_valid:设置不同HTTP状态码的缓存时间。add_header X-Proxy-Cache:添加一个自定义头部,显示缓存状态。location ~ /purge(/.*):定义一个用于清除缓存的location块。配置缓存控制头: 你可以根据需要配置更多的缓存控制头,例如:
proxy_cache_valid 200 301 30m;
proxy_cache_valid 200 302 10m;
proxy_cache_valid any 1m;
重启Nginx: 保存配置文件并重启Nginx以应用更改:
sudo systemctl restart nginx
测试缓存:
访问你的网站并检查响应头,确认缓存是否生效。你可以使用浏览器的开发者工具或命令行工具如curl来查看响应头。
curl -I http://example.com
检查响应头中的X-Proxy-Cache字段,确认缓存状态。
通过以上步骤,你可以在Nginx中配置基本的缓存功能。根据具体需求,你可能需要进一步调整和优化缓存设置。