日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

限制php-cgi进程数量,php-fcgi进程数超过预设值问题的解决

發(fā)布時(shí)間:2025/5/22 php 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 限制php-cgi进程数量,php-fcgi进程数超过预设值问题的解决 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

現(xiàn)象:

某日和開發(fā)的同事調(diào)試服務(wù)器php狀態(tài)時(shí)候發(fā)現(xiàn)下面這種情況:

ps aux |grep php-fcgi |wc -l

602

表面上看是沒什么問題,可是我明明記得 php-fcgi我只開了300個(gè)啊!難道有人改過了?

立刻查看 php-fpm.conf 找到這一項(xiàng)

300

確實(shí)是300個(gè)啊~~,怎么會(huì)有600個(gè)?

ps aux |grep php-fcgi |more

www????? 11707? 0.0? 0.7 250192? 3888 ???????? S??? 17:07

www????? 11708? 0.0? 0.7 250192? 3888 ???????? S??? 17:07

www????? 11709? 0.0? 0.7 250192? 3888 ???????? S??? 17:07

www????? 11710? 0.0? 0.7 250192? 3888 ???????? S??? 17:07

www????? 11711? 0.0? 0.7 250192? 3888 ???????? S??? 17:07

狀態(tài)都正常啊,奇怪了。嘗試把 php-fcgi重啟一下

/usr/local/php-fcgi/sbin/php-fpm restart

Shutting down php_fpm . done

Starting php_fpm? done

再次查看

ps aux |grep php-fcgi |wc -l

602

還是多了300個(gè).....奇怪了,這三百個(gè)是怎么來的呢?

因?yàn)槲覀兊膒hp和nginx是一起的,所以我又想到了nginx。

在訪問量不高的時(shí)候偷偷重啟了一下nginx

/etc/init.d/nginx restart

停止 nginx:?????????????????????????????????????????????? [確定]

Shutting down php_fpm? done

啟動(dòng) nginx:?????????????????????????????????????????????? [確定]

Starting php_fpm? done

再次查看,我倒.....真服了。我和開發(fā)的同事都一頭霧水

ps aux |grep php-fcgi |wc -l

602

這回不能簡(jiǎn)單的考慮重啟服務(wù)了,需要想想到底是哪里出的問題,而且這是生產(chǎn)服務(wù)器不能隨便弄。

因?yàn)楝F(xiàn)在線上的服務(wù)都還算正常,這個(gè)問題我們就先放下了。

第二天,那個(gè)同事跟我說。那個(gè)問題他知道怎么解決了,而且也知道是什么原因造成的。我趕緊問清楚:

原來是這樣,最近因?yàn)闇y(cè)試比較頻繁,對(duì)nginx服務(wù)重啟次數(shù)較多。不知道哪次重啟時(shí)候失敗導(dǎo)致 nginx進(jìn)程雖然停止了,

但是一起的300個(gè)php-fcgi卻沒有重啟,導(dǎo)致這些進(jìn)程還留在內(nèi)存里不能被釋放。需要強(qiáng)制手動(dòng)殺掉所有的php-fcgi進(jìn)程后再重啟php-fpm就可以了。

聽到這里我恍然大悟。馬上去服務(wù)器上操作,果然問題解決了,具體步驟如下

pkill php-cgi

再次查看

ps aux |grep php-fcgi |wc -l

1

好了沒有了,趕緊重啟,因?yàn)楝F(xiàn)在訪問網(wǎng)頁已經(jīng)是 502了。

/usr/local/php-fcgi/sbin/php-fpm restart

Shutting down php_fpm warning, no pid file found - php-fpm is not running ?

Starting php_fpm? done

再次查看進(jìn)程數(shù)

ps aux |grep php-cgi |wc -l

302

好了,正常了,呵呵

后來我在試驗(yàn)機(jī)上面又測(cè)試了一下,果然重現(xiàn)了那個(gè)問題

[root@ime /]# /etc/init.d/nginx restart

停止 nginx:?????????????????????????????????????????????? [確定]

Shutting down php_fpm? done

啟動(dòng) nginx:?????????????????????????????????????????????? [確定]

Starting php_fpm? done

[root@ime /]# ps aux |grep php-cgi|wc -l

302

這時(shí)進(jìn)程數(shù)是正常的,下面殺掉nginx進(jìn)程

[root@ime /]# pkill nginx

[root@ime /]# lsof -i:80

[root@ime /]# ps aux |grep php-cgi|wc -l

302

這300個(gè)進(jìn)程就傻乎乎的留在這里了,再次啟動(dòng)nginx

[root@ime /]# /etc/init.d/nginx start

啟動(dòng) nginx:?????????????????????????????????????????????? [確定]

Starting php_fpm? done

[root@ime /]# lsof -i:80

COMMAND?? PID USER?? FD?? TYPE DEVICE SIZE NODE NAME

nginx?? 14072 root??? 8u? IPv4? 64090?????? TCP *:http (LISTEN)

nginx?? 14073? www??? 8u? IPv4? 64090?????? TCP *:http (LISTEN)

[root@ime /]# ps aux |grep php-cgi|wc -l

603

php-fcgi沒有去理會(huì)在內(nèi)存中存在的進(jìn)程,繼續(xù)開啟了300個(gè)...

我如果再重復(fù)這個(gè)過程呢?

[root@ime /]# pkill nginx

[root@ime /]# lsof -i:80

[root@ime /]# /etc/init.d/nginx start

啟動(dòng) nginx:?????????????????????????????????????????????? [確定]

Starting php_fpm? done

[root@ime /]# pkill nginx

[root@ime /]# lsof -i:80

[root@ime /]# ps aux |grep php-cgi|wc -l

904

900個(gè)... 繼續(xù)重復(fù)

[root@ime /]# /etc/init.d/nginx start

啟動(dòng) nginx:?????????????????????????????????????????????? [確定]

Starting php_fpm? done

[root@ime /]# ps aux |grep php-cgi|wc -l

954

[root@ime /]# ps aux |grep php-cgi|wc -l

1205

機(jī)器開始變慢了,估計(jì)再重復(fù)幾次機(jī)器就會(huì)掛掉了...

[root@ime /]# pkill php-cgi

[root@ime /]# ps aux |grep php-cgi|wc -l

5

[root@ime /]# ps aux |grep php-cgi|wc -l

5

[root@ime /]# ps aux |grep php-cgi|wc -l

1

[root@ime /]# /etc/init.d/nginx restart

停止 nginx:?????????????????????????????????????????????? [確定]

Shutting down php_fpm warning, no pid file found - php-fpm is not running ?

啟動(dòng) nginx:?????????????????????????????????????????????? [確定]

Starting php_fpm? done

[root@ime /]# ps aux |grep php-cgi|wc -l

302

好了,恢復(fù)正常....

看來需要修改一下 php-fpm的啟動(dòng)腳本了

總結(jié)

以上是生活随笔為你收集整理的限制php-cgi进程数量,php-fcgi进程数超过预设值问题的解决的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。