受到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.confwww-b.confwww-c.conf#配置,三個(gè)文件這里不一致,分別對(duì)應(yīng)#Startanewpoolnamedwww-a[www-a]listen=/dev/shm/php-fpm.socketps-ef查看www1799631539012:13?00:00:51php-fpm:poolwww-bwww1799931539012:13?00:00:48php-fpm:poolwww-awww1801031539012:14?00:00:46php-fpm:poolwww-bwww1806331539012:25?00:00:42php-fpm:poolwww-cwww1815331539012:47?00:00:34php-fpm:poolwww-cwww1815431539112:47?00:00:37php-fpm:poolwww-awww1818531539012:55?00:00:29php-fpm:poolwww-cwww1831331539013:24?00:00:10php-fpm:poolwww-a1、啟動(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ù)示例改造