ngx_core_module
上下文
- main: main上下文为配置根路径,没有相应指令与之对应
- events: 包括如何处理连接、连接超时、并发连接数的配置
指令
| 指令名称 | 参数类型 | 默认值 | 作用描述 | 上下文 |
|---|---|---|---|---|
| include | file/mask | - | 将其他文件或通配符文件包含至当前上下文 | - |
| daemon | on/off | on | nginx是否以守护进程方式运行 | main |
| debug_points | abort/stop | - | 用于nginx出错时生成debug文件进行分析 | main |
| env | key[=value] | env TZ; | 用于创建或继承或继承并修改nginx进程的环境变量 | main |
| error_log | file [level] | logs/error.log error | 配置日志文件路径及级别,级别可选值debug、info、notice、warn、error、crit、alert、emerg | main |
| events | block | - | events上下文 | main |
| load_module | file | - | 用于动态模块加载,自1.9.11版本后支持,动态加载编译好的模块 | main |
| lock_file | file | logs/nginx.lock | 在某些不支持原子锁的系统会生成一个文件锁 | main |
| master_process | on/off | on | 用于确定工作进程已启动,适用于nginx开发人员 | main |
| pcre_jit | on/off | off | 启用或禁用对正则表达式的及时编译 | main |
| pid | file | logs/nginx.pid | 记录nginx进程号的文件 | main |
| ssl_engine | device | - | 指定硬件ssl加速设备,可以通过openssl engine -t命令查看 | main |
| thread_pool | string threads=number [max_queue=number] | default threads=32 max_queue=65536 | 读取发送文件的线程池配置 | main |
| timer_resolution | time | - | 默认情况下每次事件都会去获取时间,配置间隔后,只会在每个间隔时间内调用一次 | main |
| use | select/poll/kqueue/ epoll/eventport//dev/poll | - | 指定连接处理方法,一般来说nginx会根据平台自己选择最优方法 | main |
| user | string [string] | - | 设置Nginx进程的运行用户和用户组 | main |
| worker_processes | number/auto | 1 | 工作进程数量,设置为auto将自动检测为cpu核心数量 | main |
| worker_rlimit_core | number | - | RLIMIT_SORE文件数量限制 | main |
| worker_rlimit_nofile | number | - | RLIMIT_NOFILE文件数量限制 | main |
| worker_shutdown_timeout | time | - | 优雅关闭工作进程的时长,超过这个时长将直接关闭所有连接 | main |
| working_directory | direcotry | - | 自定义指定工作目录 | main |
| accept_mutex | on/off | off | 是否开启网络事件锁,开启则工作进程轮流处理连接 | events |
| accept_mutex_delay | time | 500ms | 当启用了accept_mutex,用于配置工作进程获取网络事件锁之前的等待时间 | events |
| debug_connection | address/CIDR/unix: | - | 针对配置连接信息开启debug日志,否则按照error_log指令进行日志 | events |
| multi_accept | on/off | off | 如果禁用multi_accept,工作进程同一时间只接受一个连接,否则接收所有连接,指令受Connection processing method影响 | events |
| worker_aio_requests | number | 32 | 每个工作进程aio异步i/o操作最大数量 | events |
| worker_connections | number | 512 | 工作进程同时可以打开的连接数量 | events |
| worker_cpu_affinity | auto [cpumask] | - | 工作进程和cpu绑定关系 | events |
| worker_priority | number | 0 | 定义工作进程优先级,数字越小优先级越高,可取值范围[-20, 20] | events |
include指令
include指令可以在任意上下文中使用,但在不同块中需要保证相应的语法正确。
nginx
# 模式匹配
include conf.d/*.conf;
http {
# 特定文件 需要满足http上下文语法
include mime.types;
# 模式匹配 需要满足http上下文语法
include conf.d/http/*.conf;
}1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9