我有2个nginx服务器和4个专用的php-fpm服务器在上游configuration执行PHP 2个实例在上游我已经给每个php-fpm服务器的端口9000和9001 8个实例。
有时会发生什么情况nginx无法连接端口9000和9001的php-fpm,甚至当我从端口9000或9001的nginx到php-fpm服务器telnet时,它不能连接。
在nginx和php-fpm上应该启用什么types的日志来识别问题,以解决networking连接问题或服务器问题。
任何帮助将不胜感激。
谢谢
php-fpm可能只在127.0.0.1上监听,而不接受来自其他服务器的连接,你应该运行(以root身份)“netstat -tulnp”并查看php-fpm监听的端口/地址。
从评论中,我想起了四件事情。
getenforce OR sestatus | grep -i mode sestatus | grep -i mode 。 使其宽容,如果执行: setenforce 0 。 再次检查状态: getenforce 。 iptables -nL会列出iptables是否启用并允许这些端口。 您可以执行以下操作来保存当前的规则,刷新它,并暂时停止iptables。
/etc/init.d/iptables保存
iptables -F
/etc/init.d/iptables停止
当发生这种情况时,Php-fpm可能已经用完了subprocess,请检查池日志是否有错误。 如果您在高stream量环境中长时间运行PHP查询,通常会发生这种情况。