作为真实服务器的优化
针对CPU的nginx 配置优化指令
worker_processes 指令是用来指定Nginx工作进程数
官方默认设为1,但是为了让多核CPU能够更好的处理并行任务,可以将该值设置大一些,最好这个值是机器CPU的倍数。
worker_cpu_affinity 指令用来为每个进程分配工作内核(CPU)。
这个指令的设置方法有些麻烦.我们这里遵循一个规则去设定,就可以很简单。规则:
cpu 有多少个核,就有几位数,1代表使用,0代表不使用。
来举个栗子,上面两个优化的结合:
两核CPU,开启两个进程
worker_processes 2;
worker_cpu_affinity 01 10;
针对网络相关的配置指令
keepalive_timeout 用于设置Nginx服务器与客户端保持连接的超时时间
keepalive_timeout 参数1 参数2;
参数1指定客户端连接保持活动的超时时间,在这个时间之后,服务器会关闭此连接;
参数2指定了使用Keep-Alive 消息头保持存活的有效时间,如果不设置他,Nginx服务器不会向客户端发送Keep-Alive 消息头以保持与客户端某些浏览器(如Mozilla,Konqueror等)的连接。设置这个选项后,客户端就可以在超时时间后关闭连接,而不需要服务器关闭了。
举个栗子
keepalive_timeout 60 30;
如果客户端连接超过60S,服务器关闭此次连接;
客户端连接超过30S就关闭连接。
send_timeout 用于设置Nginx 服务器响应客户端的超时时间
这个超时时间仅针对客户端和服务器端建立连接之后,如果在指定的时间内,客户端没有收到任何内容,这个连接将会被断开。
client_header_buffer_size 用户设置Nginx 服务器允许的客户端请求头的缓冲区大小,默认是1KB。一般是:
client_header_buffer_size 4k;
Gzip 压缩指令
开启或者关闭Gzip功能, 默认指令设置为off, 即不启用Gzip功能。只有设置为on时,后续介绍的指令才会有效。
gzip on | off;