在Nginx Proxy Manager中,可以通过高级配置添加静态文件缓存规则:
location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff|woff2|ttf|svg|eot)$ {
expires 365d;
add_header Cache-Control "public, no-transform";
access_log off;
log_not_found off;
}
proxy_cache_key "$scheme$request_method$host$request_uri";
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=STATIC:10m inactive=24h max_size=1g;
gzip on;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_types text/plain text/css text/xml application/json application/javascript application/xml+rss application/atom+xml image/svg+xml;
gzip_min_length 1000;
gzip_disable "MSIE [1-6]\.";
brotli on;
brotli_comp_level 6;
brotli_types text/plain text/css text/xml application/json application/javascript application/xml+rss application/atom+xml image/svg+xml;
如果需要全局应用这些设置,可以修改Nginx模板文件(通常在/app/templates/
目录下)。
缓存层级:根据文件类型设置不同的缓存时间
expires max;
expires 1d;
或expires 1h;
缓存清理:设置定期清理旧缓存的机制
监控与调优:
nginx -T
检查配置/var/log/nginx/access.log
和/var/log/nginx/error.log
goaccess
分析访问模式安全考虑:
配置完成后,可以通过以下方式验证:
使用curl检查响应头:
curl -I https://yourdomain.com/static/image.jpg
检查Cache-Control
和Expires
头
检查压缩:
curl -H "Accept-Encoding: gzip" -I https://yourdomain.com/static/style.css
确认返回Content-Encoding: gzip
使用WebPageTest或Google PageSpeed Insights测试网站性能改进
通过以上优化,可以显著提高网站加载速度,减少服务器负载,提升用户体验。