Nginx无硬编码默认HTML目录,其根路径完全由root指令决定;root将请求URI原样拼接到指定绝对路径后查找文件,应配置在server块中,末尾不加斜杠,且需确保Nginx用户有对应读执行权限。

Nginx 本身没有“硬编码”的默认 HTML 目录,它的静态资源路径完全由配置决定。所谓“默认”,只是安装包附带的示例配置里写的路径,比如 Ubuntu 上是 /var/www/html,CentOS 是 /usr/share/nginx/html,macOS Homebrew 安装则是 /usr/local/var/www。真正起作用的是 root 指令,不是系统路径。
确认并修改 root 根目录
在 server 块中设置 root,它定义了 URI 到文件系统的映射起点:
- 例如:root /var/www/myapp; 表示请求
/about.html会查找/var/www/myapp/about.html - 不要写成
root /var/www/myapp/;(末尾斜杠不报错但语义冗余) - 若项目独立部署,建议避开系统默认路径(如
/usr/share/nginx/html),避免和示例页混淆 - 修改后必须运行
nginx -t检查语法,再nginx -s reload生效
指定默认首页 index
index 指令控制访问目录时自动尝试加载的文件:
- 常见写法:index index.html index.htm; —— 按顺序查找,找到第一个就返回
- 它只在请求路径以
/结尾或本身就是目录时生效(如访问/或/blog/) - 注意:它不改变文件查找路径,只是补充文件名;路径仍由 root 决定
location 中慎用 root,优先用 alias
当需要把某个 URL 前缀映射到非 root 下的特定目录时,alias 更安全精准:
立即学习“前端免费学习笔记(深入)”;
- 错误示范:
location /static/ { root /data; }→ 请求/static/css/app.css会找/data/static/css/app.css(多了一层 static) - 正确写法:
location /static/ { alias /data/assets/; }→ 请求/static/css/app.css直接对应/data/assets/css/app.css - alias 值末尾必须有斜杠,且不拼接 location 路径
权限与路径注意事项
Nginx 工作进程(如 www-data 或 nginx 用户)必须能读取文件:
- HTML 文件权限建议
644,目录权限建议755 - 路径中避免中文、空格、特殊符号,否则易因 URL 编码导致 404
- SELinux 启用时(如 CentOS/RHEL),需确认上下文允许 web 访问,必要时执行
chcon -R -t httpd_sys_content_t /your/path - 可配合
curl -I http://localhost/快速验证响应头与状态码


















