改了 index 仍返回 Nginx 欢迎页,根本原因是 root 路径未正确指向含 index.html 的真实目录,或 Nginx 工作用户无文件读取权限;index 指令需与 root 同级配置在匹配的 location 块中才生效。

直接在 location 块里写 index index.html; 就能生效,但多数人配完仍看到默认欢迎页或 403,问题几乎都出在路径、权限或配置层级上。
为什么改了 index 还是返回 Nginx 欢迎页?
欢迎页(Welcome to nginx!)是 Nginx 自带的 /usr/share/nginx/html/index.html(或 Windows 下 html/index.html),它只会在你没显式设置 root 或 root 路径下真有这个文件时出现。
- 检查你的
location / { }块是否同时写了root和index—— 缺一不可 -
root必须指向含index.html的真实目录,比如root /var/www/myapp;,而不是root /var/www;却把文件放在/var/www/myapp/index.html - 若只改了
http或server级的index,但没设root,Nginx 会回落到内置默认路径 - 确认文件存在且可读:
ls -l /var/www/myapp/index.html,Nginx 工作用户(如www-data或nginx)必须有读权限
index 指令写在哪一层才有效?
它支持出现在 http、server、location 三个作用域,但实际生效取决于请求匹配到的最内层 location 块。
将调研报告、方案对比、数据分析、需求梳理、会议纪要、设计说明、代码评审、学习笔记等任务产物输出为可在浏览器直接打开的单文件 HTML,替代 Markdown 作为最终交付物。Markdown 在信息密度、视觉清晰度和可分享性上已跟不上 AI 产物的丰富度,HTML 能同时承载排版、表格、SVG 等。
- 全局设
index index.html index.htm;在http块,只是兜底;真正起作用的是最终匹配的那个location - 多站点场景下,每个
server块应独立配root+index,避免继承父级导致路径错乱 - 如果用了
alias(而非root),index会失效 ——alias不拼接 URI,Nginx 找不到index.html的完整路径
配完不生效?先查这三件事
别急着重启,先快速验证关键链路是否通:
立即学习“前端免费学习笔记(深入)”;
- 重载前必做:
nginx -t,检查语法和路径是否存在。常见报错如directory index of "/var/www/myapp/" is forbidden,说明文件存在但权限不对,或autoindex关闭且没匹配到index文件 - 用
curl -I http://localhost/看响应头:状态码是不是 200?Content-Type是不是text/html?如果不是,大概率还是返回了默认欢迎页 - 临时删掉默认欢迎页:
rm /usr/share/nginx/html/index.html(Linux)或del html\index.html(Windows),再测 —— 若此时报 403,就证实你的root+index配置根本没被用到
最常被忽略的是 root 路径与文件物理位置的严格对应,以及 Nginx 用户对目标文件的读取权限 —— 这两点不满足,index 再怎么写顺序都没意义。

















