nginx全局配置段
全局配置段位于配置文件最外层,不属于任何配置块,定义 Nginx 运行的基本参数。
常用配置项
nginx
# 运行用户
user nginx;
# 工作进程数
worker_processes auto;
# 进程 ID 文件
pid /var/run/nginx.pid;
# 全局错误日志
error_log /var/log/nginx/error.log warn;
# 自动 CPU 亲和
worker_cpu_affinity auto;
# 最大文件描述符
worker_rlimit_nofile 65535;
# 引入模块配置
include /etc/nginx/modules-enabled/*.conf;
worker_processes
nginx
# 自动(推荐,根据 CPU 核心数)
worker_processes auto;
# 固定数量
worker_processes 4;
| 值 | 说明 |
|---|---|
auto | 自动检测 CPU 核心数 |
数字 | 固定工作进程数 |
查看 CPU 核心数:
Bash
nproc
error_log
全局错误日志配置:
nginx
error_log /var/log/nginx/error.log warn;
error_log /var/log/nginx/error.log info;
error_log stderr info;
注意事项
- error_log 可在 main、http、server、location 层级分别配置
- 子层级会覆盖父层级的错误日志设置
pid
nginx
pid /var/run/nginx.pid;
pid logs/nginx.pid;
指定 PID 文件路径,用于进程管理。
worker_rlimit_nofile
nginx
worker_rlimit_nofile 65535;
设置工作进程可打开的最大文件描述符数,需与系统 ulimit -n 配合。
worker_cpu_affinity
nginx
# 自动绑定
worker_cpu_affinity auto;
# 手动绑定(4核CPU)
worker_cpu_affinity 0001 0010 0100 1000;
将工作进程绑定到特定 CPU 核心,减少上下文切换。
env
设置环境变量:
nginx
env PATH=/usr/local/bin:/usr/bin;
env CUSTOM_VAR=value;
注意事项
- Nginx 默认清除大部分环境变量
- 需传递给后端服务时使用 env 指令保留
timer_resolution
nginx
timer_resolution 100ms;
设置内部定时器分辨率,影响 $msec 变量精度。
daemon
nginx
# 前台运行(调试用)
daemon off;
# 后台运行(默认)
daemon on;
master_process
nginx
# 启用主进程
master_process on;
# 单进程模式(调试用)
master_process off;
完整示例
nginx
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
worker_rlimit_nofile 65535;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 1024;
}
http {
# ...
}
要点总结
- 全局配置段定义 user、worker_processes、error_log、pid 等参数
- worker_processes 推荐 auto,根据 CPU 核心数自动设置
- worker_rlimit_nofile 需与系统 ulimit 配合调整
- worker_cpu_affinity 可绑定 CPU 核心提升性能
- error_log 可在多个层级配置,子层覆盖父层设置
- daemon off 和 master_process off 用于调试模式
📝 发现内容有误?点击此处直接编辑