Nginx目录结构因安装方式而异:conf目录存配置(如/etc/nginx/nginx.conf),logs目录存日志(如/var/log/nginx/),html目录为默认根路径(如/usr/share/nginx/html/),其余路径可通过nginx -V查看编译参数确认。

安装 Nginx 后,它的目录结构看似简单,但不同安装方式(源码编译、系统包管理器如 apt/yum、Docker 镜像)会导致路径差异明显。搞不清这些路径,配置出错、日志找不到、静态页不生效就很容易发生。
conf 目录:配置文件的“大脑中枢”
绝大多数配置逻辑都集中在 conf/ 目录下,核心是 nginx.conf。它默认包含对 conf.d/ 和 sites-enabled/ 的 include 指令(取决于发行版),用于模块化管理站点配置。
- 源码安装通常在 /usr/local/nginx/conf/
- Ubuntu/Debian 用 apt 安装,主配置在 /etc/nginx/nginx.conf,站点配置习惯放在 /etc/nginx/sites-available/ 并通过软链到 sites-enabled/
- CentOS/RHEL 使用 yum/dnf,默认路径为 /etc/nginx/nginx.conf,常用 /etc/nginx/conf.d/ 存放 .conf 文件
- 注意:nginx -t 可验证配置语法,nginx -T 能输出最终合并后的完整配置,帮你确认 include 是否生效、路径是否拼错
logs 目录:访问与错误日志的真实出口
Nginx 默认将 access_log 和 error_log 写入 logs/ 子目录,但该路径由编译时 --prefix 或配置中 error_log / access_log 指令决定,并非固定。
- 源码安装常见路径:/usr/local/nginx/logs/,含 access.log、error.log、nginx.pid
- 包管理安装通常指向:/var/log/nginx/(Ubuntu/Debian)或 /var/log/nginx/(RHEL/CentOS)
- 关键点:log 文件路径可被 server 或 location 块单独覆盖,例如某虚拟主机指定
access_log /data/www/myapp/access.log;,那就不会走全局 logs/ 目录 - 日志轮转建议用 logrotate 配合 nginx -s reload 重载,避免直接删 log 文件导致写入失败
html 目录:静态资源的默认根阵地
html/ 是 Nginx 默认的 root 目录,对应配置中 root /path/to/html; 的初始值。它存放 index.html、favicon.ico 等基础页面,但生产环境极少直接用它托管业务应用。
- 源码安装默认位置:/usr/local/nginx/html/
- 包管理安装一般映射到:/usr/share/nginx/html/(RHEL/CentOS)或 /var/www/html/(Ubuntu/Debian)
- 注意:root 和 alias 行为不同——root 会拼接 location 路径,alias 则直接替换;误用会导致 404,比如
location /static/ { root /data; }实际查找的是 /data/static/xxx,而location /static/ { alias /data/static/; }才指向 /data/static/xxx - 修改 root 路径后,务必检查 SELinux(RHEL系)或 AppArmor(Ubuntu)是否阻止新路径访问,常见报错 “Permission denied” 往往不是权限数字问题,而是安全模块拦截
其他高频路径与实用技巧
除了三大主干目录,这些路径也常出现在排障和定制中:
- sbin/nginx:Nginx 主程序二进制文件,源码安装多在 /usr/local/nginx/sbin/nginx;包管理安装通常软链至 /usr/sbin/nginx
- modules/:动态模块存放处(如 ngx_http_geoip2_module),需在 nginx.conf 中用 load_module 显式加载
- fastcgi_params、scgi_params 等文件位于 conf/ 下,是反向代理 PHP/Python 应用时的关键参数模板,勿直接修改原文件,建议 copy 后自定义
- 查路径最准的方式:nginx -V 2>&1 | grep "configure arguments" 看编译参数,其中 --prefix 决定基础路径,--conf-path、--error-log-path、--http-log-path、--pid-path 等则明确各文件位置
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










