第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

當(dāng)nginx顯示502 Bad Gateway錯(cuò)誤,如何實(shí)現(xiàn)用戶無感知的自動(dòng)重啟php-fpm

當(dāng)nginx顯示502 Bad Gateway錯(cuò)誤,如何實(shí)現(xiàn)用戶無感知的自動(dòng)重啟php-fpm

慕森王 2019-04-14 11:23:59
最近nginx間隙性的出現(xiàn)502錯(cuò)誤,如何實(shí)現(xiàn)自動(dòng)重啟php-fpm呢想到的解決方案1、使用crontab定時(shí)執(zhí)行shell腳本,出現(xiàn)錯(cuò)誤后重啟(每5秒定時(shí)執(zhí)行)2、使用nohup,shell腳本后臺(tái)執(zhí)行示例腳本#!/bin/bashwhile:doURL="http://192.168.1.30"RESULT=`curl-m10-I-s$URL|grep"HTTP/1.1502"`if[-n"$RESULT"];then/etc/init.d/php-fpmrestartfisleep5done3、編寫nginx模塊,通過條件執(zhí)行shell腳本能想到的也就是這幾種了,感覺這幾種方案都不太好,誰有更好的解決方案?
查看完整描述

2 回答

?
縹緲止盈

TA貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個(gè)贊

受到fastcgi_next_upstream這個(gè)參數(shù)的啟發(fā),使用PHP-FPM線程池的概念,可以完美的解決502錯(cuò)誤(http_502是沒有的)
http里面的配置
upstreamphp_fpm_sock{
serverunix:/dev/shm/php-fpm.socket;
serverunix:/dev/shm/php-fpm-b.socket;
serverunix:/dev/shm/php-fpm-c.socket;
}
fastcgi_next_upstreamerrortimeoutinvalid_headerhttp_503http_500;
server里面fastcgi_pass配置
location~*\.php${
fastcgi_pass**unix:php_fpm_sock;**
fastcgi_indexindex.php;
client_max_body_size50M;
client_body_temp_path/data/www/tmp;
fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
includefastcgi.conf;
includefastcgi_params;
}
php-fpm的配置
#/etc/php-fpm.conf文件包含多個(gè)配置文件
include=/etc/php-fpm.d/*.conf
#/etc/php-fpm.d/目錄
www-a.conf
www-b.conf
www-c.conf
#配置,三個(gè)文件這里不一致,分別對(duì)應(yīng)
#Startanewpoolnamedwww-a
[www-a]
listen=/dev/shm/php-fpm.socket
ps-ef查看
www1799631539012:13?00:00:51php-fpm:poolwww-b
www1799931539012:13?00:00:48php-fpm:poolwww-a
www1801031539012:14?00:00:46php-fpm:poolwww-b
www1806331539012:25?00:00:42php-fpm:poolwww-c
www1815331539012:47?00:00:34php-fpm:poolwww-c
www1815431539112:47?00:00:37php-fpm:poolwww-a
www1818531539012:55?00:00:29php-fpm:poolwww-c
www1831331539013:24?00:00:10php-fpm:poolwww-a
1、啟動(dòng)的各個(gè)PHP-FPM線程池,只要不都掛掉,nginx就可以正常執(zhí)行PHP,如果有的異常退出了,基本也不影響網(wǎng)站運(yùn)行2、fastcgi_next_upstream那行的參數(shù),不需要加http_502,實(shí)際你也加不上去的3、原有的每段類似這種location~\.php${}代碼都需要對(duì)fastcgi_pass這行根據(jù)示例改造
                            
查看完整回答
反對(duì) 回復(fù) 2019-04-14
?
慕后森

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊

Nginx可以配置fastcgi_next_upstream實(shí)現(xiàn)故障轉(zhuǎn)移,比如:
fastcgi_next_upstreamerrortimeoutinvalid_headerhttp_500http_503;
后端PHP-FPM返回error、timeout等信息則自動(dòng)切換到upstream里的下一臺(tái)PHP-FPM應(yīng)用服務(wù)器。
個(gè)人覺得最好還是找出PHP-FPM工作進(jìn)程崩潰的原因,是代碼問題,還是系統(tǒng)資源不足導(dǎo)致響應(yīng)超時(shí)。注意兩點(diǎn),一是不要在PHP-FPM里執(zhí)行耗時(shí)太長(zhǎng)或不確定的代碼,比如curl發(fā)出網(wǎng)絡(luò)請(qǐng)求。二是PHP-FPM工作進(jìn)程不是越多越好,個(gè)人認(rèn)為,PHP-FPM工作進(jìn)程數(shù),設(shè)置為2倍CPU核心數(shù)就足夠了。畢竟,Nginx和MySQL以及系統(tǒng)同樣要消耗CPU。根據(jù)服務(wù)器內(nèi)存來設(shè)置PHP-FPM進(jìn)程數(shù)是非常不合理的,把內(nèi)存分配給MySQL、Memcached這些服務(wù)顯然更合適,過多的PHP-FPM進(jìn)程反而會(huì)增加CPU上下文切換的開銷。
                            
查看完整回答
反對(duì) 回復(fù) 2019-04-14
  • 2 回答
  • 0 關(guān)注
  • 528 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)