V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
pizida
V2EX  ›  问与答

PHP -fpm 引起的 udp 端口占用过多,导致 udp 出不去, DNS 无法解析

  •  
  •   pizida · 2017-08-30 15:03:57 +08:00 · 2326 次点击
    这是一个创建于 2660 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景: 收到 Unknown: php_network_getaddresses: getaddrinfo failed: Name or service not known 错误提示。这个提示显然是域名解析出现问题了。

    检查: dig 域名 提示:dig: isc_socket_bind: address in use

    nslookup 域名 提示: nslookup: isc_socket_bind: address in use

    通过上面提示都可以看到,udp

    netstat -anulp|grep php-fpm|head -n20、 udp 0 0 0.0.0.0:10240 0.0.0.0:* 13522/php-fpm: pool udp 0 0 0.0.0.0:10241 0.0.0.0:* 13704/php-fpm: pool udp 0 0 0.0.0.0:10244 0.0.0.0:* 13269/php-fpm: pool udp 0 0 0.0.0.0:10249 0.0.0.0:* 13435/php-fpm: pool udp 0 0 0.0.0.0:10250 0.0.0.0:* 13546/php-fpm: pool udp 0 0 0.0.0.0:10254 0.0.0.0:* 13330/php-fpm: pool udp 0 0 0.0.0.0:10257 0.0.0.0:* 13668/php-fpm: pool udp 0 0 0.0.0.0:10259 0.0.0.0:* 14203/php-fpm: pool udp 0 0 0.0.0.0:10261 0.0.0.0:* 13748/php-fpm: pool udp 0 0 0.0.0.0:10262 0.0.0.0:* 13412/php-fpm: pool udp 0 0 0.0.0.0:10263 0.0.0.0:* 14182/php-fpm: pool udp 0 0 0.0.0.0:10264 0.0.0.0:* 13879/php-fpm: pool udp 0 0 0.0.0.0:10265 0.0.0.0:* 14208/php-fpm: pool udp 0 0 0.0.0.0:10267 0.0.0.0:* 13391/php-fpm: pool udp 0 0 0.0.0.0:10268 0.0.0.0:* 13664/php-fpm: pool udp 0 0 0.0.0.0:10270 0.0.0.0:* 13727/php-fpm: pool udp 0 0 0.0.0.0:10271 0.0.0.0:* 13239/php-fpm: pool udp 0 0 0.0.0.0:10280 0.0.0.0:* 14023/php-fpm: pool udp 0 0 0.0.0.0:10283 0.0.0.0:* 13562/php-fpm: pool udp 0 0 0.0.0.0:10284 0.0.0.0:* 13514/php-fpm: pool

    发现 php-fpm 拉起了过多的 udp,占用大量临时端口,很可能是这个问题造成的。

    但是目前只能通过 crontab 脚本重启 php-fpm,释放这些 udp,但是依旧不知道具体造成的原因是什么。

    以前使用 nginx+php-fpm 的时候也没有遇到这个问题。

    不知道有没有彻底根治的更加的解决方案。 看网上有人说搭建 dnsmasq 来 cache,减少 udp 查询,但觉得这个也不是治本的方法。

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1013 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 18:30 · PVG 02:30 · LAX 10:30 · JFK 13:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.