内核模块用于控制Nginx服务器的基本功能
内核参数的修改需要重新启动nginx才能生效???
[一译文档][1]
## 指令
### 用于调试、定位问题部分
>[success]daemon [off|on]
是否以守护进程方式启动nginx;
>[success]master_process on|off;
是否以master/worker模型来运行nginx; 当on时(默认),以master/worker进程运行;off时只运行master。
>[success]error_log /path/to/error_log level;
错误日志文件及其级别;出于调试的目的,可以使用debug级别,但此级别只有在编译nginx时使用了--with-debug选项才有效;
>[danger]关闭error_log
~~~
error_log /dev/null crit;
~~~
>[success]env VAR=VALUE
重新定义环境变量
### 其他
>[success]include
用于载入配置文件,可以使用通配符
>[success]working_directory
依赖于编译时的`--prefix`
### 正常运行的必备配置
>[success]user USERNAME [GROUPNAME];
指定运行worker进程的用户 和组,
>[success]pid /path/to/pid_file;
指定nginx的pid文件;
>[success]worker_rlimit_nofile #;
指定一个worker进程所能够打开的最大文件句柄数;
>[success]worker_rlimit_sigpending #;
指定每个用户能够发往worker的信号的数量;
### 优化性能相关的配置
>[success]worker_processes #:
worker线程的个数;通常应该为物理CPU核心个数减1;
>[success]worker_cpu_affinity cpumask ...;
绑定worker进程至指定的CPU上;
* 将一个进程绑定到1颗CPU上
~~~
worker_processes 4
worker_cpu_affinity 0001 0010 0100;
~~~
* 将第1个进程绑定到CPU0/CPU2上,将第2个进程绑定到CPU1/CPU3上,这个对于超线程CPU合适
~~~
worker_processes 1
worker_cpu_affinity 0101 1010;
~~~
>[success]timer_resolution t;
指定worker进程计时器的时间解析度,即`gettimeofday()`函数的调用次数,时间解析度越大,利于优化性能
~~~
timer_resolution 100ms;
~~~
>[success]worker_priority nice;
worker进程优先级`-20, 19`
## 变量
$pid当前nginx服务器的进程ID
[1]:http://python.usyiyi.cn/translate/NGINX/ngx_core_module.html
- nginx的功能
- nginx常用变量
- Nginx内核模块
- Nginx的事件模块
- Nginx的HTTP模块
- Nginx的fastcgi
- nginx的proxy
- Upstream实现后台服务器集群
- 文件操作优化相关的配置
- Nginx模块管理和进程管理
- 模块管理
- 进程管理
- 针对Nginx的Linux系统优化
- Nginx如何处理一个请求
- nginx状态信息
- Nginx工具
- Nginx限制流量
- Nginx限制用户的并发连接数
- 配置FLV服务器
- Nginx访问控制
- Nginx自动索引
- Nginx网页压缩传输
- 控制Nginx如何记录日志
- Nginx改写响应
- Nginx重写
- 后台Nginx记录原始原始IP
- Nginx防盗链
- Nginx的https