静态站的性能瓶颈通常不在 nginx 本身,而在带宽和往返次数。两件小事收益最大:开 gzip,给静态资源加上长缓存。
gzip on;
gzip_comp_level 5;
gzip_min_length 1024;
gzip_types text/css application/javascript application/json image/svg+xml;
location ~* \.(css|js|svg|woff2)$ {
expires 30d;
add_header Cache-Control "public, immutable";
}
gzip_comp_level 调到 9 并不会让文件更小多少,但 CPU 开销会明显上去;5 左右是多数场景的甜点。带 hash 的文件名可以放心用 immutable,否则要给入口 HTML 设 no-cache,避免用户拿不到新版本。