必要的调整
1、指定启动工作进程的用户和用户组
user nginx nginx
2、配置工作进程数
worker_processes 1;
这个设置,只能开启一个工作进程,意味着所有请求都只能由这个进程处理,也以为着所有的执行都将委托给CPU的一个内核。假如你的CPU为4核,建议为你的CPU的每一个内核分配一个工作进程,即:
worker_processes 4;
3、配置进程优先级
worker_priority 0;
如果系统同时运行多个任务,你可能需要提高nginx的工作进程的优先级,优先级值的范围为-20(最高)-19(最低),根据具体环境设置合适的优先级,
注意:设置的值不能小于-5,因为那是nginx内核进程的优先级。
4、配置是否记录404错误
log_not_found off
就常规文件而言,404错误记录会使日志文件记录非常凌乱,建议关闭。
注意:不要在server块设置该指令,该指令是HTTP Core模块组成部分。
5、配置最大连接数
worker_connections 1024;
以上配置使得nginx的一个工作进程接受1024个连接,如果同时设置了4个工作进程,那么服务器必须能实现同时接受4096个连接,这时需要升级服务器硬件设置,提高CPU和内存。
适当选择硬件
低流量配置 | 标准配置 | 高流量配置 |
---|---|---|
CPU:双核 RAM:2GB 请求:~1/s | CPU:四核 RAM:4GB 请求:~50/s | CPU:八核 RAM:12G 请求:~1000/s |
推荐值 | ||
worker_processes 2; worker_rlimit_nofile 1024; worker_priority -5; worker_cpu_affinity 01 10; events{ multi_accept on; worker_connections 128; } | worker_processes 2; worker_rlimit_nofile 8192; worker_priority 0; worker_cpu_affinity 0001 0010 0100 1000; events{ multi_accept off; worker_connections 1024; } | worker_processes 8; worker_priority 0; events{ multi_accept off; worker_connections 8192; } |