nginx的502問(wèn)題
1.配置錯(cuò)誤
因?yàn)閚ginx找不到php-fpm了或者socket文件權(quán)限不對(duì),所以報(bào)錯(cuò),一般是fastcgi_pass后面的路徑配置不當(dāng),后面可以是socket或者是ip:port,從php5.4版本之后如果使用socket方式,默認(rèn)權(quán)限給的比較低,所以需要把監(jiān)聽(tīng)權(quán)限改為777,對(duì)應(yīng)配置為 listen.mode=0777
2.資源耗盡
lnmp架構(gòu)在處理php時(shí),nginx直接調(diào)取后端的php-fpm服務(wù),如果nginx的請(qǐng)求量偏高,我們又沒(méi)有給php-fpm配置足夠的子進(jìn)程,那么php-fpm就會(huì)資源耗盡,一旦資源耗盡nginx找不到php-fpm就會(huì)出現(xiàn)502錯(cuò)誤
解決方案:
去調(diào)整php-fpm.conf中的pm.max_children數(shù)值,使其增加,但是也不能無(wú)限增加,畢竟資源有限,一般4G內(nèi)存機(jī)器如果跑php-fpm和nginx,不跑mysql可以設(shè)置為150,8G為300以此類(lèi)推!
3.除了上面的兩種錯(cuò)誤還有其他的原因很少有,我們可以借助nginx的錯(cuò)誤日志來(lái)進(jìn)行排查
vim /usr/local/nginx/logs/nginx_error.log 我們也可以給日志定義級(jí)別vim/usr/local/nginx/conf/nginx.conf 找到error_log,默認(rèn)是crit最嚴(yán)謹(jǐn)?shù)木托?,也可以改成debug顯示的信息最全面,但是很容易撐爆我們的磁盤(pán)。