转载

Nginx与网络相关的配置的四个指令

# keepalive_timeout

该指令用于设置Nginx服务器与客户端保持连接的超时时间。指令内容有两项,一个是指定客户端连接保持活动的超时时间,另一个是可选项,指使用Keep-Alive消息头保持活动的有效时间,如果不设置Nginx不会向客户端发送Keep-Alive消息头以保持与客户端某些浏览器(Mozilla、Konqueror等)的连接。两个值的设定可以根据实际情况来,建议从服务器的访问量,处理速度,网络状况方面考虑:
keepalive_timeout	60 50;

该设置表示Nginx服务器与客户端连接保持活动的时间是60s,60s后服务器与客户端断开连接;使用Keep-Alive消息头保持与客户端某些浏览器的连接时间为50s,50s后自动浏览器制动与服务器断开连接。

# send_timeput

该指令用于设置Nginx服务器响应客户端的超时时间,这个超时时间仅针对客户端和服务器建立连接之后,某次活动之间的时间,如果这个时间后客户端没有任何活动,Nginx服务器将会关闭连接,此指令设置需要考虑服务器访问数量和网络状况等方面:
send_timeout	10s;

该设置表示Nginx服务器与客户端连接后,某次会话中,服务器等待客户端响应的时间超过10s就自动断开连接。

# client_header_buffer_size

该指令用于设置Nginx服务器允许客户端请求头部的缓冲区大小,默认1KB。此指令赋值可以根据系统分页大小来设置,分页大小可以用 “getconf PAGESIZE” 获得。

有过Nginx服务器工作经验的朋友可能都遇到过Nginx服务器返回400错误的情况,查找其原因很难。此错误不是每次都会出现,出现错误的时候,通常在浏览器和日志中看不到任何有关的提示信息,根据实际情况来看,很大一部分情况是客户端请求头部过大导致的,请求头部过大通常是客户端cookie中写入了较大的值引起的。所以适当增大client_header_buffer_size的值可以改善服务器对客户端的支持能力:

client_header_buffer_size	4K;

#multi_accept

该指令用于配置Nginx服务器是否尽可能多的接受客户端的网络连接请求,默认值为off。关闭状态下,每次worker process一次只能接收一个新到达的网络连接
multi_accept	off;

内容来源:《Nginx高性能web服务器详解》

nginx优化
运维那些事
  • 作者:JackLiu
  • 发表时间:2020-12-09 03:28:48
  • 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
  • 公众号转载:请在文末添加作者公共号二维码

评论列表