开发工具Tools·Nginx 问题集
Nginx 出现大量 TIME_WAIT
检测TIME_WAIT状态的语句
$ netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
SYN_RECV 7
ESTABLISHED 756
FIN_WAIT1 21
SYN_SENT 3
TIME_WAIT 2000
状态解析:
CLOSED
– 无连接是活动的或正在进行LISTEN
– 服务器在等待进入呼叫SYN_RECV
– 一个连接请求已经到达,等待确认SYN_SENT
– 应用已经开始,打开一个连接ESTABLISHED
– 正常数据传输状态FIN_WAIT1
– 应用说它已经完成FIN_WAIT2
– 另一边已同意释放ITMED_WAIT
– 等待所有分组死掉CLOSING
– 两边同时尝试关闭TIME_WAIT
– 另一边已初始化一个释放LAST_ACK
– 等待所有分组死掉
解决方法
执行 vim /etc/sysctl.conf
,并添加下面字段
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
执行 /sbin/sysctl -p
让修改生效。
上传文件大小限制
问题现象
显示错误信息:413 Request Entity Too Large。
意思是请求的内容过大,浏览器不能正确显示。常见的情况是发送 POST
请求来上传大文件。
解决方法
- 可以在
http
模块中设置:client_max_body_size 20m;
- 可以在
server
模块中设置:client_max_body_size 20m;
- 可以在
location
模块中设置:client_max_body_size 20m;
三者区别是:
- 如果文大小限制设置在
http
模块中,则对所有 Nginx 收到的请求。 - 如果文大小限制设置在
server
模块中,则只对该server
收到的请求生效。 - 如果文大小限制设置在
location
模块中,则只对匹配了location
路由规则的请求生效。
请求时间限制
问题现象
请求时间较长,链接被重置页面刷新。常见的情况是:上传、下载大文件。
解决方法
修改超时时间
本站所提供的部分资源来自于网络,版权争议与本站无关,版权归原创者所有!仅限用于学习和研究目的,不得将上述内容资源用于商业或者非法用途,否则,一切后果请用户自负。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源。如果上述内容资对您的版权或者利益造成损害,请提供相应的资质证明,我们将于3个工作日内予以删除。本站不保证所提供下载的资源的准确性、安全性和完整性,源码仅供下载学习之用!如用于商业或者非法用途,与本站无关,一切后果请用户自负!本站也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害。如有侵权、不妥之处,请联系站长以便删除!
金点网络 » 开发工具Tools·Nginx 问题集
金点网络 » 开发工具Tools·Nginx 问题集
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
- 是否提供免费更新服务?
- 持续更新,永久免费
- 是否经过安全检测?
- 安全无毒,放心食用