Nginx 配置文件(nginx
conf)配置详解 usernginxnginx ; Nginx 用户及组:用户 组
window 下不指定 worker_processes 8; 工作进程:数目
根据硬件调整,通常等于 CPU 数量或者 2 倍于 CPU
error_log logs/error
log; error_log logs/error
log notice; error_log logs/error
log info; 错误日志:存放路径
pid logs/nginx
pid; pid(进程标识符):存放路径
worker_rlimit_nofile 204800; 指定进程可以打开的最大描述符:数目
这个指令是指当一个 nginx 进程打开的最多文件描述符数目,理论值应该是最多打开文件数( ulimit -n)与 nginx 进程数相除,但是 nginx 分配请求并不是那么均匀,所以最好与 ulimit -n 的值保持一致
现在在 linux 2
6 内核下开启文件打开数为 65535,worker_rlimit_nofile 就相应应该填写 65535
这是因为 nginx 调度时分配请求到进程并不是那么的均衡,所以假如填写 10240,总并发量达到 3-4 万时就有进程可能超过 10240 了,这时会返回 502 错误
events { useepoll; 使用 epoll 的 I/O 模型
linux 建议 epoll,FreeBSD 建议采用 kqueue,window 下不指定
补充说明: 与 apache 相类,nginx 针对不同的操作系统,有不同的事件模型 A)标准事件模型 Select、poll 属于标准事件模型,如果当前系统不存在更有效的方法,nginx 会选择 select 或 poll B)高效事件模型 Kqueue