全部学科
NodeJS全栈
nodejs
Python全栈
python
小程序首页
📅 2026-05-20 5 分钟 ✍️ juanwangdev

nginx include指令

include 指令是 Nginx 模块化配置的核心,可将配置拆分到多个文件。

基本用法

nginx
include /etc/nginx/mime.types;
include /etc/nginx/conf.d/*.conf;

路径表示

绝对路径

nginx
include /etc/nginx/conf.d/default.conf;

相对路径

nginx
include conf.d/*.conf;

相对于 Nginx 安装目录。

通配符

nginx
# 匹配所有 .conf 文件
include /etc/nginx/conf.d/*.conf;

# 匹配特定模式
include /etc/nginx/sites-enabled/*;

常用场景

MIME 类型

nginx
http {
    include /etc/nginx/mime.types;
    default_type application/octet-stream;
}

站点配置

nginx
http {
    include /etc/nginx/conf.d/*.conf;
}

额外配置

nginx
http {
    include /etc/nginx/fastcgi_params;
    include /etc/nginx/uwsgi_params;
    include /etc/nginx/scgi_params;
}

配置拆分示例

主配置文件 nginx.conf

nginx
worker_processes auto;

events {
    worker_connections 1024;
}

http {
    include mime.types;
    
    # 通用配置
    include /etc/nginx/conf.d/gzip.conf;
    include /etc/nginx/conf.d/logging.conf;
    
    # 站点配置
    include /etc/nginx/conf.d/*.conf;
}

拆分文件 conf.d/gzip.conf

nginx
gzip on;
gzip_types text/css application/javascript;
gzip_min_length 256;

拆分文件 conf.d/logging.conf

nginx
log_format main '$remote_addr - $request - $status';
access_log /var/log/nginx/access.log main;

注意事项

  • include 路径相对于执行 nginx 命令时的工作目录
  • 使用绝对路径更可靠
  • 通配符匹配的文件顺序不确定,不依赖加载顺序
  • 被引入文件内的语法要求与主配置相同
  • include 可嵌套,但避免循环引入

条件引入

nginx
# 仅在文件存在时引入(Nginx 1.19.10+)
include conf.d/optional.conf;

与模块化目录结构配合

text
/etc/nginx/
├── nginx.conf              # 主配置
├── mime.types
├── conf.d/
│   ├── gzip.conf
│   ├── logging.conf
│   └── sites/
│       ├── site1.conf
│       └── site2.conf
└── sites-enabled/
    ├── site1 -> ../sites-available/site1
    └── site2 -> ../sites-available/site2

要点总结

  • include 引入外部配置文件,支持绝对路径、相对路径、通配符
  • 常用于引入 MIME 类型、站点配置、参数文件
  • 使用绝对路径更可靠,避免相对路径歧义
  • 通配符加载的文件顺序不确定
  • 配置拆分提升可读性和维护性,推荐生产使用

📝 发现内容有误?点击此处直接编辑

← 上一篇 nginx http配置段
下一篇 → nginx location配置段
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库