Cannot assign requested address

“Cannot assign requested address.”是因为Linux分配的客户端链接端口用尽,没法创建socket链接所致,虽然socket正常关闭,可是端口不是当即释放,而是处于TIME_WAIT状态,默认等待60s后才释放。linux

 

解决办法:nginx

vi  /etc/sysctl.conf
net.ipv4.tcp_timestamps=1
net.ipv4.tcp_tw_recycle=1
sysctl -p

 

 

还有种问题致使 Cannot assign requested address,本地可分配端口数比较少bash

cat /proc/sys/net/ipv4/ip_local_port_range 查询可用端口区间服务器

默认是:32768 61000,说明这台机器本地能向外链接61000-32768=28232个链接,注意是本地向外链接,不是这台机器的全部链接,不会影响这台机器的 80端口的对外链接数。但这个数字会影响到代理服务器(nginx)对app服务器的最大链接数,由于nginx对app是用的异步传输,因此这个环节的 链接速度很快,因此堆积的链接就不多。app

 

解决办法异步

vi  /etc/sysctl.conf
net.ipv4.ip_local_port_range = 1024 65535
sysctl -p
相关文章
相关标签/搜索