nginx配置文件的格式

31 阅读1分钟

上一篇介绍了 nginx模块的定义。

一个功能首先要有输入,就是配置项,因为数据面需要配置做转发决策,比如access还是deny。

参考nginx.org/en/docs/beg…

Directives are divided into simple directives and block directives.

简单说就是配置指令分两种,简单指令包括命令和参数,以分号结尾;复杂指令跟一个大括号块; 比如: worker_processes 1; http { server {

}

}

指令根据其所处的位置,有上下文,最外层是main。

  • main
    • event
    • http
      • server
        • location

有了语法规则,解析也变得容易。第一个单词是命令,在command_t中定义了,依次查找是哪个命令,然后命令对应的函数负责处理后边的参数,

char *(*set)(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);

设置到ngx_conf_t *cf。