静态站点配置示例
部署普通静态文件和 Next.js 静态导出
配置骨架(非 Shell 命令)
server {
listen 80;
server_name example.com;
root /srv/www/site;
index index.html;
}说明
适用于直接由 Nginx 提供 HTML、CSS、JavaScript 等文件。示例 server 块放入被主配置 http 块 include 的站点文件,例如 /etc/nginx/conf.d/site.conf;具体 include 位置以 nginx -T 为准。用真实域名替换 example.com,root 指向实际发布目录。配置片段不是 Shell 命令。修改后先检查通过再重载。
示例
普通静态站点
站点文件位于 /srv/www/site,不存在的路径返回 404。
server {
listen 80;
server_name example.com;
root /srv/www/site;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}注意事项:Nginx worker 需要读取文件并遍历父目录。公开内容建议文件 644、目录 755,并核对属主和安全策略,不能一律使用 777。
Next.js 静态导出与 trailingSlash
将构建的 out 内容发布至 /srv/www/next-out;示例对应 output: export 且 trailingSlash: true。
server {
listen 80;
server_name example.com;
root /srv/www/next-out;
index index.html;
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
location = /404.html {
internal;
}
}注意事项:必须发布完整 out 目录,包括 _next 静态资源与 404.html。不要将未知 URL 都回退到首页,否则会掩盖真正的 404。