kaka.stream

← 返回首页

用 nginx 托管静态站的几个细节

2026-10-05

静态站点配置很短,但有几处不写就会露出"临时搭的"痕迹。

打开压缩

nginx 的 gzip 默认是关的。文本资源压一下通常是三四倍的差距。

gzip on;
gzip_types text/plain text/css application/javascript application/json image/svg+xml;
gzip_min_length 512;

给静态资源加缓存

HTML 不缓存、带版本号的静态资源长缓存,是比较省心的组合。

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

自定义 404

默认的 404 页面会暴露服务器软件,顺手换掉。

error_page 404 /404.html;
location = /404.html { internal; }

权限与目录

站点文件属主给 www-data,目录 755、文件 644 即可;不要让 nginx 用户拥有写权限。

最后记得 nginx -t 再 reload,配置语法错误不会让旧进程立刻挂掉,但下一次重启就起不来了。