nginx优化配置

worker_process 4;

worker_priority 0;   进程的静态优先级,范围在-20~19,-20为最高优先级

worker_cpu_affinity 1000 0100 0010 0001;   配置每个worker进程使用哪个cpu,使得不会互相抢cpu

worker_rlimit_nofile 100000;   更改worker进程的最大打开文件数限制

worker_connections 2048;

multi_accept on;   一次accept一个新连接,or 一次accept所有的新连接

use epoll;

proxy_connect_timeout   90;
proxy_send_timeout      90;
proxy_read_timeout      90;
proxy_buffer_size       8k;

client_max_body_size    10m;
client_body_buffer_size 512k;

client_header_timeout 10; 
client_body_timeout 10; 
reset_timedout_connection on; 
send_timeout 10; 
      

sendfile         on;  立即将数据从磁盘读到OS缓存。这种拷贝是在内核完成的
tcp_nopush       on;  告诉nginx在一个数据包里发送所有头文件,而不一个接一个的发送。
tcp_nodelay      on;  告诉nginx不要缓存数据,而是一段一段的发送--当需要及时发送数据时
keepalive_timeout  65;
    
gzip              on;  

gzip_comp_level 4 ; 设置数据的压缩等级 1-9之间的任意数值,设置为4,这是一个比较折中的设置
gzip_min_length      1k; 

gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; 

 

access_log off; 设置nginx是否将存储访问日志。关闭这个选项可以让读取磁盘IO操作更快(aka,YOLO)
error_log 告诉nginx只能记录严重的错误:

 

# cache informations about file descriptors, frequently accessed files  
# can boost performance, but you need to test those values  
open_file_cache max=100000 inactive=20s;  
open_file_cache_valid 30s;  
open_file_cache_min_uses 2;  
open_file_cache_errors on;  

open_file_cache 打开缓存的同时也指定了缓存最大数目,以及缓存的时间。我们可以设置一个相对高的最大时间,这样我们可以在它们不活动超过20秒后清除掉。

open_file_cache_valid 在open_file_cache中指定检测正确信息的间隔时间。

open_file_cache_min_uses 定义了open_file_cache中指令参数不活动时间期间里最小的文件数。

open_file_cache_errors 指定了当搜索一个文件时是否缓存错误信息,也包括再次给配置中添加文件。我们也包括了服务器模块,这些是在不同文件中定义的。如果你的服务器模块不在这些位置,你就得修改这一行来指定正确的位置。
原文地址:https://www.cnblogs.com/wangzhaobo/p/8623046.html