pool叫做池子,比如下圖中的www就是一個(gè)池子,目前在php-fpm中只定義了這一個(gè)pool,其實(shí)php-fpm是支持定義多個(gè)pool的,每一個(gè)池子可以監(jiān)聽不同的socket或者IP+端口,比如nginx有多個(gè)站點(diǎn),那么每一個(gè)站點(diǎn)就可以使用一個(gè)pool,這樣做的好處是,當(dāng)其中一個(gè)php出現(xiàn)502了,502很有可能是php資源不夠了,如果所有的網(wǎng)站使用的是同一個(gè)pool,那么其中一個(gè)網(wǎng)站發(fā)生了一些故障,比如一些程序員寫的程序有問題,它就會(huì)把php資源耗盡,那這樣就會(huì)造成一個(gè)結(jié)果是其他的站點(diǎn)也會(huì)502,所有我們有必要把每一個(gè)站點(diǎn)隔離開來,每一個(gè)站點(diǎn)使用單獨(dú)的pool
如何寫多個(gè)pool呢,php里面可以在配置文件中繼續(xù)增加pool
1、編輯配置文件
# vi /usr/local/php-fpm/etc/php-fpm.conf
我們?cè)谂渲梦募行略鲆粋€(gè)池子lijie.com
[lijie.com]
listen = /tmp/lijie.sock
#listen = 127.0.0.1:9000
listen.mode = 666
user = php-fpm
group = php-fpm
#listen.owner = nobody
#listen.group = nobody
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024
2、檢查語法錯(cuò)誤
# /usr/local/php-fpm/sbin/php-fpm-t
3、重新加載php-fpm服務(wù)
# /etc/init.d/php-fpmreload
4、查看新增pool是否生效
# ps aux |grep pool //下圖可以看到pool中已經(jīng)存在lijie.com了
5、pool的使用
如果想給網(wǎng)站aaa.com配置上面新增的pool,可以在網(wǎng)站對(duì)應(yīng)的nginx虛擬主機(jī)配置文件/usr/local/nginx/conf/vhost/aaa.com.conf中做如下配置:
上面的配置中要求監(jiān)聽的路徑(socket或者IP)與在php-fpm.conf中配置的pool監(jiān)聽的路徑一致
配置完成后,就實(shí)現(xiàn)了test.com請(qǐng)求的是www這個(gè)pool,aaa.com請(qǐng)求的是lijie.com這個(gè)pool,這時(shí)候假如test.com的請(qǐng)求量很大,把php-fpm的進(jìn)程耗盡了,可以請(qǐng)求50個(gè),結(jié)果當(dāng)50個(gè)已經(jīng)請(qǐng)求完,這時(shí)test.com又有新的請(qǐng)求來的時(shí)候,結(jié)果就會(huì)報(bào)502,因?yàn)樗鼪]有多余的php進(jìn)程再來提供服務(wù)了,此時(shí)呢 aaa.com這個(gè)站點(diǎn)不受影響,因?yàn)樗玫降膒ool是另外一個(gè)
6、include vhost/*.conf
在nginx.conf中我們支持include vhost/*.conf的寫法來將不同虛擬主機(jī)的配置文件分開寫在不同的文件中,同樣的在php-fpm中也支持這種寫法,這樣寫了后,可以將不同的pool分開寫在不同的文件中
首先創(chuàng)建一個(gè)目錄用于存放所有的pool
# mkdir /usr/local/php-fpm/etc/php-fpm.d
然后在/usr/local/php-fpm/etc/php-fpm.conf 的[global]中加入以下語句:
include = etc/php-fpm.d/*.conf
同時(shí),將原來的兩個(gè)pool分別寫入到兩個(gè)新建的文件中,并將這兩個(gè)文件放到/usr/local/php-fpm/etc/php-fpm.d/目錄下,
修改后的結(jié)果如下:
1)php-fpm.conf中的內(nèi)容如下:
2)php-fpm.d目錄下的文件有以下兩個(gè):
3)其中www.conf中的內(nèi)容如下:
4)lijie.conf中的內(nèi)容如下:
二 php-fpm慢執(zhí)行日志這個(gè)慢執(zhí)行日志非常有用。建議使用LNMP的原因之一是我們可以分析php-fpm的慢執(zhí)行日志。我們?cè)谶\(yùn)維工作中,經(jīng)常會(huì)遇到一個(gè)問題,老板或者客戶反映網(wǎng)站慢了,要想知道網(wǎng)站慢的原因,先不說java網(wǎng)站,php的網(wǎng)站是有辦法查網(wǎng)站慢在哪里,像系統(tǒng)負(fù)載高,我們可以用各種工具,如vmstat、iostat、stop等,就能找到是哪個(gè)進(jìn)程導(dǎo)致它負(fù)載高,而在這里分析網(wǎng)站慢,是要找出證據(jù)證明慢在哪里的
新聞標(biāo)題:LNMP架構(gòu)(六)
網(wǎng)站路徑:http://vcdvsql.cn/article18/chccgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、網(wǎng)站維護(hù)、搜索引擎優(yōu)化、網(wǎng)站排名、虛擬主機(jī)、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)