nginx高级配置

针对ipv4的内核参数

文件在/etc/sysctl.conf ,修改生效使用sysctl -p

net.core.netdev_max_backlog 
#表示在网络接口的收包速率比内核快时,队列允许存在的数据包个数,默认为128,可以改为262144
net.core.somaxconn 
#系统同时发起的tcp请求个数,默认128,存在高并发时,较小,会导致连接超时或重连,修改为262144
net.ipv4.tcp_max_orphans
#设置最多允许多少tcp套接字不关联到任何一个用户文件句柄上,超过这个数字没有关联的套接字会被复位,并给出告警信息,这个告警是为了防止dos攻击,系统内存充足时可以增大
net.ipv4.tcp_max_syn_backlog
#记录尚未收到客户端确认信息的连接请求的最大值对于系统内存够用时可以增大
net.ipv4.tcp_timestamps
#防止接受序列号相同的数据包,nginx推荐关闭,为零时关闭
net.ipv4.tcp_synack_retries
#设置内核放弃和tcp连接时发送的syn+ack包的数量,一般为1
net.ipv4.tcp_syn_retries
#放弃连接前发送的syn包的数量,为1

对cpu的nginx配置

nginx里的配置文件

worker_process 
#设置nginx服务进程数,一般为1,可以适当加大,如双核cpu可以为2,4。四核可以为4等等
worker_cpu_affinity 
#为每个进程分配cpu的工作内核,由四位二进制数(因为有四个进程)表示

网络连接

keepalive_timeout
#服务器与客户端连接保持活动的超时时间,超过之后服务器会关闭连接
send_timeout
#设置服务器响应客户端的超时时间,在这个活动时间之后会如果客户端没有活动会被关闭连接
client_header_buffer_size
#400错误可以考虑客户端请求头过大引起的,增大这个值可以接收较大的请求头 4kb

与事件驱动模型有关的配置

use
# 指定某个驱动模型
worker_connections
#每个工作进程允许最大连接的客户端数量,一般为65535,nginx总共允许连接的客户端数量为worker_process*worker_connections/2

nginx高级配置_第1张图片

你可能感兴趣的:(nginx)