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

nginx配置语法规则

Nginx 配置文件遵循简单直观的语法规范,下面梳理核心规则。

基本语法

指令格式

nginx
directive value1 value2 ...;
  • 指令名与值之间用空格分隔
  • 每条指令以分号 ; 结尾
  • 遗漏分号会导致配置错误

配置块

nginx
context_name {
    directive value;
    another_context {
        directive value;
    }
}
  • 配置块用花括号 {} 包裹
  • 块内可嵌套其他块或指令

注释

nginx
# 单行注释
# 多行注释需每行前加 #
  • Nginx 仅支持 # 单行注释
  • 不支持 /* */ 块注释

变量

nginx
# 内置变量
set $my_var $remote_addr;

# 使用变量
log_format custom '$remote_addr - $my_var';
  • 变量以 $ 开头
  • 变量名可包含字母、数字、下划线

路径表示

相对路径

nginx
root html;

相对于 Nginx 安装目录(通常 /etc/nginx)。

绝对路径

nginx
root /var/www/html;
error_log /var/log/nginx/error.log;

推荐使用绝对路径,避免歧义。

引号使用

单值无需引号

nginx
worker_processes auto;

多值或含空格需引号

nginx
server_name "example.com www.example.com";
log_format main 'value with spaces';
  • 单引号 ' 和双引号 " 均可
  • 值内含空格、特殊字符时建议使用引号

单位表示

nginx
# 时间单位
keepalive_timeout 65s;     # 秒
proxy_connect_timeout 60s;
ssl_session_timeout 10m;   # 分钟

# 大小单位
client_max_body_size 10m;  # 兆字节
proxy_buffer_size 4k;      # 千字节
单位说明
s秒(默认,可省略)
m分钟(时间)/ 兆字节(大小)
h小时
d
w
M
y
k/K千字节

注意事项

  • 分号是必须,遗漏会报 unexpected end of file 错误
  • 配置文件路径区分大小写
  • 修改配置后执行 nginx -t 验证语法
  • 同一指令在相同层级出现多次,以最后一次为准(部分指令除外)

常见语法错误

nginx
# 错误:遗漏分号
worker_processes auto

# 错误:花括号不匹配
http {
    server {
        listen 80;
    }

# 错误:指令拼写错误
work_processes auto;

# 正确
worker_processes auto;

要点总结

  • 指令以分号结尾,配置块用花括号包裹
  • 注释使用 #,仅支持单行
  • 变量以 $ 开头,路径推荐绝对路径
  • 值内含空格时使用引号
  • 时间/大小单位:s/m/h/d 表示时间,k/m 表示大小
  • 配置变更后执行 nginx -t 验证

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

← 上一篇 nginx核心配置文件结构
下一篇 → SSL/TLS性能优化
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

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

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