Nginx出现10055错误问题

Nginx在配置后遇到了socket问题:

[alert] 3336#3636: select() failed (10055: An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full)

查了一些资料也不能确定问题的原因,只能尝试修改一些参数配置:

proxy_buffering    on;          #开启从后端被代理服务器的响应内容缓冲
proxy_buffer_size  4k;          #设置从后端被代理服务器的响应内容缓冲区大小
proxy_buffers    8 1M;         #设置从被代理的后端服务器取得的响应内容缓冲区的大小和数量
proxy_busy_buffers_size  2M;       #高负荷下缓冲大小(proxy_buffers*2)
proxy_max_temp_file_size    0;     #当 proxy_buffers 放不下后端服务器的响应内容时,会将一部分保存到硬盘的临时文件中,这个值用来设置最大临时文件大小,默认1024M
                       #它与 proxy_cache 没有关系。大于这个值,将从upstream服务器传回。设置为0禁用。

因为Nginx配置再windows server2008上,为了保险起见,设置了注册表中的两个值:

HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/ Services/TCPIP/Parameters  注册表子键并创建名为TcpTimedWaitDelay 的新 REG_DWORD 值 建议值:最小值为 0x1E,它将等待时间设置为 30 秒
描述:确定 TCP/IP 可释放已关闭连接并重用其资源前,必须经过的时间。关闭和释放之间的此时间间隔通称 TIME_WAIT 状态或两倍最大段生命周期(2MSL)状态。
此时间期间,重新打开到客户机和服务器的连接的成本少于建立新连接。
减少此条目的值允许 TCP/IP 更快地释放已关闭的连接,为新连接提供更多资源。如果运行的应用程序需要快速释放和创建新连接,而且由于 TIME_WAIT 中存在很多连接,导致低吞吐量,则调整此参数。
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/ Services/TCPIP/Parameters   注册表子键并创建名为 MaxUserPort 的新 REG_DWORD 值
描述:确定在应用程序从系统请求可用用户端口时,TCP/IP 可指定的最高端口号
MaxUserPort 的新 REG_DWORD 值。 停止并重新启动系统。 缺省值:无 建议值:至少十进制 32768。
注:当在 Windows NT 或 Windows 2000 操作系统上调整 WebSphere Application Server 时,同时使用这两个参数。

最后还调整了系统磁盘的虚拟内存

 

转载于:https://www.cnblogs.com/growingpains/p/7782827.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值