推荐标准路径为 /usr/local/nginx/html/errors/,用于存放统一、可复用的错误页面模板,含 403.html、404.html、50x.html 等,并通过 alias 配置静态资源访问,确保权限合理且经 nginx -t 校验。
在 Nginx 目录结构中建立标准化的错误页面模板存放目录,核心是统一路径、明确归属、便于维护,尤其适合多站点或二进制安装(无默认 /usr/share/nginx 结构)场景。不依赖包管理器预设,而是按可复用、易定位、权限可控的原则组织。
这是二进制安装最稳妥的选择,理由如下:
/usr/local/nginx/ 下,不混入系统路径(如 /var/www),避免和业务站点根目录冲突html/errors/ 表明是静态资源,且专用于错误页,比 /error 或 /404 更具通用性server 块中设 root /usr/local/nginx/html; 后,/errors/404.html 可直接通过 /errors/404.html URI 访问创建以下层级,保持简洁但覆盖常见错误:
/usr/local/nginx/html/errors/403.html(拒绝访问)404.html(页面未找到)——注意内容 ≥512 字节50x.html(统一代替 500/502/503/504)offline.html(可选,用于维护页)static/(子目录,存放图标、CSS、JS 等)static/logo.svgstatic/style.css所有 HTML 文件内引用静态资源时,统一用绝对路径,例如:
<link rel="stylesheet" href="/errors/static/style.css">
<img src="/errors/static/logo.svg" >
在 server 块中声明错误页,并确保 location = /errors/ 可公开访问(不加 internal):
error_page 403 /errors/403.html;error_page 404 /errors/404.html;error_page 500 502 503 504 /errors/50x.html;location = /errors/403.html { }location = /errors/404.html { }location = /errors/50x.html { }location /errors/static/ {alias /usr/local/nginx/html/errors/static/;}
注意:alias 结尾带斜杠,且路径需与磁盘实际一致;若用 root,写法不同,容易出错,推荐用 alias 管理该子目录。
755,HTML 文件为 644,确保 nginx worker 进程可读nginx -t 校验语法,再 nginx -s reload
curl -I http://localhost/errors/404.html 确认返回 200,排除路径不可达问题