502的問題有很多種情況,主要的問題就是nginx->php這一層出現(xiàn)問題,可能是并發(fā)問題,也可能是PHP處理能力問題,還有可能是code代碼的問題.你說的127.0.0.1比較多是很正常的,估計是因為你的nginx調(diào)用php使用的是ip:port的方式,還有mysql也會是走的127.0.0.1,所以你應(yīng)該用端口來區(qū)分.另外你說數(shù)量比較多,也不會全是ESTABLIST,如果你了解TCP協(xié)議就會知道,會有哪些狀態(tài).你可以查看下各個狀態(tài)的量.netstat-n|awk'/^tcp/{++S[$NF]}END{for(ainS)printa,S[a]}'如果TIMEWAIT的數(shù)量太多,當然是可以做一些優(yōu)化的.net.core.somaxconn=4096net.ipv4.tcp_max_syn_backlog=8192net.ipv4.tcp_syn_retries=5net.ipv4.tcp_synack_retries=5net.ipv4.tcp_abort_on_overflow=0net.ipv4.tcp_tw_reuse=1net.ipv4.tcp_tw_recycle=1net.ipv4.tcp_timestamps=1net.ipv4.tcp_syncookies=1net.ipv4.tcp_max_tw_buckets=90000net.ipv4.tcp_fin_timeout=30net.ipv4.ip_local_port_range=1000065000net.ipv4.tcp_keepalive_time=1200如果擔(dān)心并發(fā)能力的問題,可以查看下ulimit還有nginx的并發(fā)控制.其實如果你的訪問量(PV)沒有太多變化,但是導(dǎo)致了502我想你應(yīng)該多查看下php的日志.另外很常見的一個可能性是因為某個PHP程序hang住,導(dǎo)致你之后的PHP進程全部堵塞出現(xiàn)處理能力不夠,這個可以查看你每一個請求的處理時間.還有限制php進程處理時間,減少Backlog的數(shù)量,但并不一定Max_children開得越大越好,像2G的還是開小些吧,32夠了.尤其是在出現(xiàn)502的時候一定要多觀察PHP的狀態(tài),是有defunct,還是有CPU或者內(nèi)存占用很大的進程.都是可以發(fā)現(xiàn)問題的.要具體問題具體分析了.下面看下我實驗的502情況(結(jié)構(gòu)說明:Nginx(proxy)-->Nginx+PHP表格中說的nginx和PHP都是非proxy):操作過程返回時間返回碼nginx進程不存在立馬502服務(wù)器死機>proxy_connect_timeout502Nginx存在,fpm不存在立馬502nginx存在,fastcgi執(zhí)行超時>fastcgi_read_timeout504fpmbacklog隊列滿立馬502fpm主動斷開>request_terminate_timeout502PS:你的標題應(yīng)該改改,應(yīng)該是"網(wǎng)站頻繁出現(xiàn)502,懷疑是127.0.0.1連接太多",把現(xiàn)象先描述出來.