在 Debian 6.0.1 上作为代理运行的 nginx/1.0.12 在运行一小段时间后开始抛出以下错误:
connect() to upstreamip:80 failed (99: Cannot assign requested address)
while connecting to upstream, client: xxx.xxx.xxx.xxx, server: localhost,
request: "GET / HTTP/1.1", upstream: "http://upstreamip:80/",
host: "requesteddomain.com"
并非所有请求都会产生此错误,因此我怀疑它与服务器的负载及其达到的某种限制有关。
我尝试将 ulimit -n 提高到 50k,将worker_rlimit_nofile 提高到 50k,但这似乎没有帮助。 lsof -n 显示 nginx 总共 1200 行。
传出连接是否存在系统限制,可能会阻止 nginx 打开更多与其上游服务器的连接?
似乎我刚刚找到了自己问题的解决方案:通过分配更多传出端口
echo "10240 65535" > /proc/sys/net/ipv4/ip_local_port_range
解决了问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)