- 資訊首頁(yè) > 開(kāi)發(fā)技術(shù) >
- linux下php-cgi停止的解決方法
這篇文章主要為大家展示了“l(fā)inux下php-cgi停止的解決方法”,內容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習一下“l(fā)inux下php-cgi停止的解決方法”這篇文章吧。
linux下php-cgi停止的解決方法是:更改nginx的配置項,減少FastCGI的請求次數,盡量維持buffers不變即可,例如【fastcgi_buffer_size 128k;】。
本文操作環(huán)境:linux 5.9.8、php 7、thinkpad t480電腦。
前言:
偶然發(fā)現一臺生產(chǎn)中的(centos 5.2 64位 4G內存)總是出現網(wǎng)站打不開(kāi)的問(wèn)題。后來(lái)就去服務(wù)器上看了下,結果發(fā)現nginx和php-cgi都在運行狀態(tài),但是此時(shí)php-cgi的cpu占用為0。于是我馬上查看了文件句柄數限制:
ulimit -n
得到的結果是:1024,這個(gè)值對生產(chǎn)中的服務(wù)顯得偏小。
網(wǎng)上給出的解決方案,大部分是直接輸入
ulimit -SHn 51200 # 51200可自己根據應用調整
此法缺點(diǎn)很明顯,一旦退出登陸,設置就失效了。
也有說(shuō)直接把該命令寫(xiě)到/etc/rc.d/rc.local中的,今天找到一個(gè)正確的做法
打開(kāi)/etc/security/limits.conf,里面有很詳細的注釋?zhuān)业饺缦略O置(如果沒(méi)有就插入)
代碼如下
* soft nofile 51200 * hard nofile 51200
退出后再次登陸,查看句柄數,已經(jīng)正確設置為51200。
如果有碰到類(lèi)似情況,可以檢查一下看看是不是文件句柄數設置太小引起的。
訪(fǎng)問(wèn)時(shí)出現 502 Bad Gateway 的解決辦法
Nginx 502 Bad Gateway的含義是請求的php-cgi已經(jīng)執行,但是由于某種原因(一般是讀取資源的問(wèn)題)沒(méi)有執行完畢而導致php-cgi進(jìn)程終止。一般并發(fā)數太高的網(wǎng)站都容易出現此錯誤。出現502 Bad Gateway的原因有很多,但是大部分人修改下面的參數即可解決。
更改nginx的幾個(gè)配置項,減少FastCGI的請求次數,盡量維持buffers不變:
代碼如下
fastcgi_buffer_size 128k; fastcgi_buffers 2 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k;
打開(kāi) /usr/local/php/etc/php-fpm.conf 文件,修改如下幾個(gè)參數:
代碼如下
25 requests">2048 65535 30s 60s
request_terminate_timeout指的是fast-cgi的執行腳本時(shí)間,它默認是0s。0s的含義是讓php-cgi一直執行下去而沒(méi)有時(shí)間限制。如果你在此設成0s,那么當出現502 Bad Gateway的時(shí)候,這個(gè)502的狀態(tài)將一直持續下去不會(huì )改變。但是如果你設置成5s,那么當php-cgi假死5s以后會(huì )自動(dòng)恢復。這個(gè)值可以根據你服務(wù)器的性能進(jìn)行設定,這里我設置的是60s。
max_children表示php-cgi的處理進(jìn)程。如果max_children設置的較小,比如5-10個(gè),那么php-cgi就會(huì )“很累”,處理速度也很慢,等待的時(shí)間也較長(cháng)。如果長(cháng)時(shí)間沒(méi)有得到處理的請求就會(huì )出現504 Gateway Time-out錯誤。設置max_children也需要根據服務(wù)器的性能進(jìn)行設定,增大進(jìn)程數,內存占用也會(huì )相應增大,正常情況下每個(gè)php-cgi所耗費的內存在20M左右,這里我設置的是25。
php-fpm的默認靜態(tài)處理方式會(huì )使得php-cgi的進(jìn)程長(cháng)期占用內存而無(wú)法釋放,這也是導致nginx出錯的原因之一,因此可以將php-fpm的處理方式改成apache-like模式。
修改完成執行lu-restart 即可(LuManager服務(wù)器管理系統)。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自互聯(lián)網(wǎng)轉載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權請聯(lián)系QQ:712375056 進(jìn)行舉報,并提供相關(guān)證據,一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容。
Copyright ? 2009-2021 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 珠海市特網(wǎng)科技有限公司 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站