文档章节

nginx Cannot assign requested address TIME_WAIT解决

千惊万喜
 千惊万喜
发布于 2016/12/09 14:01
字数 439
阅读 34
收藏 0
点赞 0
评论 0

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 查看端口状态

“Cannot assign requested address.”是由于linux分配的客户端连接端口用尽,无法建立socket连接所致,虽然socket正常关闭,但是端口不是立即释放,而是处于TIME_WAIT状态,默认等待60s后才释放。

解决方法1 调低time_wait状态端口等待时间:

  1. 调低端口释放后的等待时间,默认为60s,修改为15~30s sysctl -w net.ipv4.tcp_fin_timeout=30
  2. 修改tcp/ip协议配置, 通过配置/proc/sys/net/ipv4/tcp_tw_resue, 默认为0,修改为1,释放TIME_WAIT端口给新连接使用 sysctl -w net.ipv4.tcp_timestamps=1
  3. 修改tcp/ip协议配置,快速回收socket资源,默认为0,修改为1 sysctl -w net.ipv4.tcp_tw_recycle=1

可能解决办法2--增加可用端口: CCH:~ # sysctl -a |grep port_range net.ipv4.ip_local_port_range = 50000 65000 -----意味着50000~65000端口可用

修改参数: $ vi /etc/sysctl.conf net.ipv4.ip_local_port_range = 10000 65000 -----意味着10000~65000端口可用

永久解决方案(重启有效)

$ vi /etc/sysctl.conf

加入

net.ipv4.ip_local_port_range = 1024 65535

net.ipv4.tcp_timestamps=1

net.ipv4.tcp_tw_recycle=1

net.ipv4.tcp_tw_reuse=1

改完后,执行命令“sysctl -p”使参数生效,不需要reboot。

另外一种

vi /etc/sysctl.conf

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_tw_reuse=1 #让TIME_WAIT状态可以重用,这样即使TIME_WAIT占满了所有端口,也不会拒绝新的请求造成障碍 默认是0

net.ipv4.tcp_tw_recycle=1 #让TIME_WAIT尽快回收 默认0

net.ipv4.tcp_fin_timeout=30

/sbin/sysctl -p 让修改生效

##linux文件打开数限制

sysctl -w fs.file-max=10485760

msysctl -w net.ipv4.tcp_rmem=1024

sysctl -w net.ipv4.tcp_wmem=1024

sysctl -w net.ipv4.ip_local_port_range='1024 65535' #

sysctl -w net.ipv4.tcp_tw_recycle=1

sysctl -w net.ipv4.tcp_tw_reuse=1

echo '* soft nofile 1048576' >> /etc/security/limits.conf

echo '* hard nofile 1048576' >> /etc/security/limits.conf

© 著作权归作者所有

共有 人打赏支持
千惊万喜
粉丝 4
博文 56
码字总数 15471
作品 0
海淀
程序员
高并发下,自己写的基于httpclient发送post请求的工具类,求高手分析代码中的问题

基于httpclient4.5.1写了一个发送http请求的工具类: 目前是每秒发送2000的post请求,服务器是一个apache服务器, 出现的问题有如下: 1.可能存在内存溢出,可能是httpclient没有关闭导致的,...

ahdkk ⋅ 2016/09/29 ⋅ 4

Can’t connect to MySQL server有关linux tcp连接优化

最近有2台web机器链接mysql有时会出现Can’t connect to MySQL server的情况,查看exception日志: 如下: [message:protected] => SQLSTATE[HY000] [2003] Can’t connect to MySQL server......

SANSOM ⋅ 2013/07/30 ⋅ 0

ossutil报"Cannot assign requested address"解决方案

问题 某用户使用如下命令上传目录到OSS,中间隐去bucket name。 出现如下错误。 分析 原因 由于Linux分配的客户端连接端口用尽,无法建立socket连接所致,虽然socket正常关闭,但是端口不是立...

zuozhao ⋅ 06/15 ⋅ 0

nginx 报错 99: Cannot assign requested address

nginx 报错 99: Cannot assign requested address net.ipv4.iplocalport_range = 10240 65535 >> /etc/sysctl.conf awk '{print $1}' log/test-access.log | sort | uniq -c | sort -nr | he......

wennan ⋅ 2014/07/06 ⋅ 0

树莓派(Cannot assign requested address)的解决过程

树莓派一个无法分配被请求地址问题(Cannot assign requested address)的解决过程 问题描述 在用 加载 服务端时返回错误: 第一次尝试 先以 作为关键字在网上查了半天, 绝大多数的都说是连接太...

FreeBlues ⋅ 2016/05/29 ⋅ 0

php-fpm与nginx链接不起来啊! 求助求助

我用yum装的nginx 然后编译安装的php-5.3.8的版本 之后配置了一下nginx以及php-fpm 可访问php文件还是错误 静态也面没问题 这是error.log下的信息 2012/11/27 14:02:04 [crit] 1568#0: *5646...

hackingluoluo ⋅ 2012/11/27 ⋅ 10

TCP/IP TIME_WAIT状态原理

TIMEWAIT状态原理 ---------------------------- 通信双方建立TCP连接后,主动关闭连接的一方就会进入TIMEWAIT状态。 客户端主动关闭连接时,会发送最后一个ack后,然后会进入TIMEWAIT状态,...

2k10 ⋅ 2015/09/21 ⋅ 0

查看服务器并发连接情况的方法[转]

问题描述: 在对Apache,Nginx或者squid等进行优化的时候一个很重要的指标是能够支撑的最大并发数量。那么如何查看系统中当前网络并发情况呢? 拿Apache来说: Apache如果MPM的prefork模式下可...

风林火山 ⋅ 2012/09/05 ⋅ 0

lvs部署详情

lve的全称为linux virtual server,即linux虚拟服务器,是一个虚拟的服务器集群系统。其简单的工作原来为:当用户请求了lvs vip后,lvs根据自身的转发方式和选择的算法,把客户端请求转发到后...

叶声 ⋅ 2017/12/14 ⋅ 0

apache重启时出现这样的报错

[root@localhost ~]# /usr/local/apache/bin/apachectl start (99)Cannot assign requested address: make_sock: could not bind to address 202.192.72.80:80 no listening sockets availab......

KB_24 ⋅ 2013/09/19 ⋅ 4

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Kubeflow实战系列:利用TFJob导出分布式TensorFlow模型

介绍 本系列将介绍如何在阿里云容器服务上运行Kubeflow, 本文介绍如何使用TfJob导出分布式模型训练模型。 第一篇:阿里云上使用JupyterHub 第二篇:阿里云上小试TFJob 第三篇:利用TFJob运行...

全部原谅 ⋅ 9分钟前 ⋅ 0

007. 深入JVM学习—老年代

老年代空间的主要目的是用于存储由Eden发送来的对象,一般在经历好几次“Minor GC”还会保存下来的对象,才会被复制到老年代,这样就可以存放更多的对象,同时在老年代中执行GC的次数也相对较...

影狼 ⋅ 10分钟前 ⋅ 0

常见的一些C#开源框架或者开源项目

原:https://blog.csdn.net/qq_27825451/article/details/70666044 Json.NET http://json.codeplex.com/ Json.Net 是一个读写Json效率比较高的.Net框架.Json.Net 使得在.Net环境下使用Json更......

whoisliang ⋅ 10分钟前 ⋅ 0

设计模式基本原理

刚开始接触编程这行的时候看过设计模式,当时感觉学这些模式没有太大的用处,当时也看不太懂。但是随着慢慢接触这一行,经过一段时间的编程以后,再回过头来看设计模式,发现设计模式的确是太...

王子城 ⋅ 14分钟前 ⋅ 0

阿里云全面支持IPv6!一文揽尽4位大咖精彩演讲

摘要: 自从去年11月以来,阿里巴巴高度重视数据中心的网络改造、云产品改造、应用及网络改造等多个维度,经过半年以来的建设,阿里云已经完成了域名解析等关键产品的分析,现在阿里云已经完...

传授知识的天使 ⋅ 24分钟前 ⋅ 0

windows Android sdk 配置

1、下载Android SDK,点击安装,直接默认路径即可! 下载地址:http://developer.android.com/sdk/index.html 2、默认路径安装后,安装完成,开始配置环境变量。 3、打开计算机属性——高级系...

阿豪boy ⋅ 27分钟前 ⋅ 0

bash shell script 简明教程

User <--> bash <--> kernel shell is not kernel or part of kernel various shells: tcsh, csh, bash, ksh find the using shell: echo $SHELL find all the shells: cat /etc/shells what......

mskk ⋅ 29分钟前 ⋅ 0

Service Mesh简史

William Morgan Service Mesh是一个相当新的概念,讲它的“历史”似乎有些勉强。就目前而言,Service Mesh已经在部分企业生产环境中运行了超过18个月,它的源头可以追溯到2010年前后互联网公...

好雨云帮 ⋅ 30分钟前 ⋅ 0

10个免费的服务器监控工具

监控你的WEB服务器或者WEB主机运行是否正常与健康是非常重要的。你要确保用户始终可以打开你的网站并且网速不慢。服务器监控工具允许你收集和分析有关你的Web服务器的数据。 有许多非常好的服...

李朝强 ⋅ 42分钟前 ⋅ 0

压缩工具之zip-tar

zip 支持目录压缩。使用yum安装zip包,使用yum安装unzip包 zip 1.txt.zip 1.txt #将1.txt文件压缩,新生成的压缩文件为1.txt.zip,原文件保留 zip -r 123.zip 123/ #-r对目录操作。将123/目录...

ZHENG-JY ⋅ 43分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部