内部测试服务器出现经常fast cgi 挂掉的问题

本文记录了内部开发服务器频繁出现PHP-CGI挂死的问题及解决方案。通过排查发现,长时间未释放的PHP-CGI进程连接到了外部数据库,修改数据库连接设置后问题得到缓解。

突然发现内部开发服务器,一天死几次。重启 php cgi 就好了。查看 nginx error 日志无果。

默然我只开了 5个 cgi 子进程。

ps -aux | egrep 'php-cgi| cat -n

就可以看到 5个 子进程的状态。主要是看 cpu 那一列。发现几乎都没用到

1 nginx 23699 0.0 0.2 20880 4764 ? Ss Oct27 0:00 /usr/bin/php-cgi 2 nginx 23700 0.0 0.4 25336 8928 ? S Oct27 0:01 /usr/bin/php-cgi 3 nginx 23701 0.0 0.4 25928 9420 ? S Oct27 0:02 /usr/bin/php-cgi 4 nginx 23702 0.0 0.4 25476 9160 ? S Oct27 0:02 /usr/bin/php-cgi 5 nginx 23703 0.0 0.4 25740 9224 ? S Oct27 0:02 /usr/bin/php-cgi

查看 目前用了多少 php cgi

netstat -anpot | grep "php" | wc -l

tcp 0 0 192.168.1.244:56307 222.216.8.169:3306 ESTABLISHED 22135/php-cgi keepalive (6430.40/0/0) tcp 0 0 192.168.1.244:56326 222.216.8.169:3306 ESTABLISHED 22134/php-cgi keepalive (6619.92/0/0) tcp 0 0 192.168.1.244:36736 222.216.8.169:3306 ESTABLISHED 22127/php-cgi keepalive (6074.89/0/0)

多倒不多,但是 确实 每一个运行都耗费了 好长时间而不释放。 而且好奇怪。我是内部开发服务器。怎么连接的确实外部的 主数据库。。因为外部主数据库有严格的权限控制。所以 肯定是连接不上。而php 又不超时。。导致了一直连。

赶紧查找,那些代码上 写了 连接 外部数据库的:

grep 'db.xxxx.com' -r /data/html

发现了好多~~~

干脆。一次替换。

sed -i "s/db.beihai365.com/localhost/g" `grep 'db.beihai365.com' -rl /data/html/`

一直到目前。内部开发服务器 就没有死过。。。 是否真解决了。还有待观察。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值