校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 深入分析nginx+php-fpm服務(wù)HTTP狀態(tài)碼502

深入分析nginx+php-fpm服務(wù)HTTP狀態(tài)碼502

熱門標簽:漯河電銷外呼系統(tǒng)價格 蕪湖呼叫中心外呼系統(tǒng)哪家強 電銷機器人怎么錄音 咸陽穩(wěn)定外呼系統(tǒng)公司 貴港市機器人外呼系統(tǒng)團隊 貴陽語音電銷機器人 征服者快捷酒店地圖標注 ec外呼系統(tǒng)怎么樣 天津外呼系統(tǒng)運營商

我們的一個web項目,由于新上城市增多,導致訪問量增大,DB壓力增大,作為提供接口的業(yè)務(wù)方,最近被下游反饋大量請求“502”。

502,bad gateway,一般都是upstream(這里就是php)出錯,對于php,造成502的原因常見的就是腳本執(zhí)行超過timeout設(shè)置時間,或者timeout設(shè)置過大,導致php進程長時間不能被釋放,沒有空閑worker進程來接客。

我們的項目就是php執(zhí)行時間設(shè)置過短導致的,對于這種情況,可以先適當增大php的執(zhí)行時間,先保證清除502,優(yōu)化的事情畢竟要花更多的時間。

控制php執(zhí)行時間的選項有兩個,在php.ini中 max_execution_time 和php-fpm中 request_terminate_timeout,其中 request_terminate_timeout 可以覆蓋 max_execution_time,所以如果不想改全局的php.ini,那只改php-fpm的配置就可以了。

下邊我就來詳細的分析一下為什么php腳本執(zhí)行超出設(shè)置時間會導致nginx返回502。

先來布景,讓問題復現(xiàn):

nginx和php分別只啟動一個worker,方便追蹤。

php-fpm的request_terminate_timeout設(shè)置為3S。

測試腳本test.php

sleep(20);
echo 'ok';

go go go:

在瀏覽器訪問www.v.com/test.php,3S后如期出現(xiàn)...404???what???

出師不利啊,趕緊看看nginx的配置文件

這個location配置是當發(fā)生5xx錯誤時跳轉(zhuǎn)到一個好看點的界面,但是我在/usr/share/nginx/html下并沒有50x.html這個文件。所以搞了個404出來。這不是很影響我判斷問題的準確性?直接注釋掉!再次訪問,等待3S,終于'正常'的界面出來了。

環(huán)境好了,下邊就上套路,按照web問題的排查套路走一遍,先看看錯誤日志吧:

nginx:

報錯都是 recv() failed (104: Connection reset by peer。

recv時失敗了,連接被重置了。為啥連接被重置了?難道一言不合。

我們在看看php-fpm的錯誤日志:

(注意php-fpm中php_admin_value[error_log]選項指定php的錯誤日志,會覆蓋php.ini中的。但是這里不是看php的錯誤,而是看php-fpm的錯誤。php-fpm的錯誤日志由php-fpm.conf中的error_log選項指定。)

每一次請求都是產(chǎn)生2個WARNING和1個NOTICE:

WARNING:腳本執(zhí)行超時了,終止了。

WARNING:子進程收到SIGTERM信號退出了。

NOTICE:啟了一個新的子進程(因為我設(shè)置的pm.min_spare_servers = 1)

看來如果php的worker進程執(zhí)行超時,不僅終止腳本執(zhí)行,而且worker進程也會退出。看來nginx的報錯連接被重置是因為php的worker進程退出了(在TCP連接中一方如果斷掉的話會發(fā)送RST給另一方)

通過日志已經(jīng)可以知道php腳本執(zhí)行超時,worker子進程退出,導致nginx報錯Connection reset by peer,下邊我們通過strace來看看php和nginx的情況:

php:

1.accept一個nginx的連接請求(socket,bind,listen都在master中完成 ),可以看到nginx的端口是47039,從FD0中讀取數(shù)據(jù),就是從標準輸入中,這個是fast-cgi協(xié)議規(guī)定的。accept之后的已連接描述符是3。

2.從FD3中讀取nginx傳遞過來的數(shù)據(jù),fastcgi協(xié)議格式,接收了856字節(jié)。為什么read5次呢?

因為fastcgi協(xié)議數(shù)據(jù)包是8字節(jié)對齊,由包頭和包體組成。并且都是會先發(fā)一個request數(shù)據(jù)包,包含一些請求ID,版本,typpe等信息(包頭包體各占8字節(jié)),再發(fā)一個params數(shù)據(jù)包,傳遞get參數(shù)和環(huán)境變量(包頭8字節(jié),包體變長),最后發(fā)送一個沒有包體只有包頭的params數(shù)據(jù)包,表示參數(shù)發(fā)送結(jié)束(包頭8字節(jié))。所以前3個read用來讀出request包的包頭和包體,還有params包的包頭,第四個read是讀取真正的數(shù)據(jù),最后一個read是讀取最后一個params包的包頭。所以nginx傳遞的數(shù)據(jù)應(yīng)該是8+8+8+856+8=896字節(jié)(和下邊nginx的傳輸bytes能對應(yīng)上)。注意如果是post方式,還會發(fā)送stdin數(shù)據(jù)包。

3.設(shè)置休眠20S,就是php程序中的sleep(20),之后由于進程被終止了,所以后邊就沒啦。strace程序也退出啦。

nginx:

1.accept到瀏覽器的請求,可以看到瀏覽器端的端口是56434,IP是192.168.1.105,已建立連接的FD是3。

2.從FD3中接收數(shù)據(jù),HTTP協(xié)議。

3.創(chuàng)建一個socket,F(xiàn)D21,用于和php建立連接。

4.連接到FD21,可以看到連接的是本機的9000端口,這里nginx和php-fpm使用IP socket連接方式,nginx和php-fpm部署在一臺機器上可以考慮unix domain socket。

5.向FD21寫入數(shù)據(jù),fast-cgi協(xié)議格式,我們看到寫入的長度是896,和上邊的php接收的長度是對應(yīng)的。

6.recvfrom函數(shù)從FD21中返回 ECONNRESET (Connection reset by peer)

7.向FD9中寫入錯誤信息,可以推斷FD9就是nginx錯誤日志的文件描述符。

8.關(guān)閉和FD21的連接。

9.向FD3寫入502 Bad Gateway,就是返回給瀏覽器的信息。

10.向FD8寫入一條訪問日志,可以推斷FD8就是nginx訪問日志的文件描述符。

來驗證一下nginx訪問日志和錯誤日志的推斷。可以看到的確是FD8,F(xiàn)D9,并處于寫入模式。

那么在這個過程中整個網(wǎng)絡(luò)包的傳輸我們不妨也看一下:

通過tcpdump抓包,用神器看比較方便。

因為只想看nginx和php的通訊,在上邊又知道nginx的端口是47039,可以通過tcp.srcport==47039過濾出對應(yīng)的包。

可以看到nginx和php-fpm數(shù)據(jù)交互的過程:47039->9000建立三次握手,接著向9000發(fā)送數(shù)據(jù),9000回復ACK,3S后9000回復RST。沒毛病。

注意:

SYN,F(xiàn)IN各占一個序列號

ACK,RST不占序列號(28,29兩個包的reqnum和acknum都是相同的)

序列號是每一字節(jié)加1(29包發(fā)送896字節(jié),同時29包seq為4219146879,30包的ack為4219147775,正好相差896)

RST不需要回復。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:濰坊 怒江 淮北 西寧 西藏 香港 東營 攀枝花

巨人網(wǎng)絡(luò)通訊聲明:本文標題《深入分析nginx+php-fpm服務(wù)HTTP狀態(tài)碼502》,本文關(guān)鍵詞  深入分析,nginx+php-fpm,服務(wù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《深入分析nginx+php-fpm服務(wù)HTTP狀態(tài)碼502》相關(guān)的同類信息!
  • 本頁收集關(guān)于深入分析nginx+php-fpm服務(wù)HTTP狀態(tài)碼502的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    成人av免费在线观看| 色综合一区二区| 亚洲成人av在线电影| 国产精品理论在线观看| 91丨porny丨国产入口| 免费成人在线影院| 亚洲图片你懂的| 26uuu久久综合| 欧美性xxxxxx少妇| 成人黄色片在线观看| 日产精品久久久久久久性色| 亚洲视频一区二区在线观看| 精品久久久影院| 欧美高清www午色夜在线视频| 国产suv精品一区二区三区| 日韩av在线播放中文字幕| 亚洲美女少妇撒尿| 国产免费观看久久| 日韩三级电影网址| 欧美疯狂做受xxxx富婆| 色天使色偷偷av一区二区| 国产成人日日夜夜| 久久精品999| 污片在线观看一区二区| 一区二区三区中文免费| 中文字幕一区二区三区四区不卡 | 7777女厕盗摄久久久| 99r国产精品| 不卡av在线免费观看| 国产麻豆成人传媒免费观看| 日本不卡一二三| 天天综合天天综合色| 亚洲成人精品影院| 性做久久久久久免费观看欧美| 亚洲摸摸操操av| 亚洲视频在线一区观看| 国产精品久久久久aaaa樱花 | 视频一区二区中文字幕| 1024成人网色www| 国产精品福利在线播放| 国产精品美女视频| 久久精品一区二区三区四区| 欧美中文字幕一区二区三区| 欧美在线观看视频一区二区| 在线看国产一区二区| 日本精品裸体写真集在线观看| 99re视频精品| 色哟哟国产精品| 欧美午夜一区二区三区免费大片| 欧美性xxxxxxxx| 欧美精品高清视频| 91精品国产入口| 日韩写真欧美这视频| 亚洲一区二区三区国产| 亚洲成人综合视频| 日韩精品每日更新| 久久疯狂做爰流白浆xx| 国产自产视频一区二区三区| 国产精品一区二区果冻传媒| 国产91在线观看| 91网上在线视频| 欧美少妇一区二区| 欧美成人在线直播| 久久精品人人爽人人爽| 中文字幕一区二区日韩精品绯色| 一区二区三区成人| 水蜜桃久久夜色精品一区的特点| 狠狠色狠狠色合久久伊人| 国产精品一二一区| 91蜜桃传媒精品久久久一区二区| 欧美在线免费视屏| 欧美一区二区精品在线| 久久精品欧美一区二区三区不卡| 亚洲欧美一区二区三区孕妇| 天堂成人国产精品一区| 国产精品一二三四五| 色av一区二区| 精品91自产拍在线观看一区| 国产精品私人影院| 亚洲午夜私人影院| 国产在线精品免费| 色国产精品一区在线观看| 欧美xxxx在线观看| 亚洲免费大片在线观看| 秋霞av亚洲一区二区三| 99久久99久久精品免费看蜜桃| 欧美乱妇20p| 中文字幕一区二区5566日韩| 亚洲国产人成综合网站| 国产精品中文字幕欧美| 欧美亚洲综合在线| 欧美精品一区二区三| 亚洲与欧洲av电影| 国产成人av一区二区三区在线观看| 91精彩视频在线| 久久久精品国产免费观看同学| 亚洲高清不卡在线| 风间由美性色一区二区三区| 777午夜精品视频在线播放| 国产精品成人免费| 久久99精品国产91久久来源| 91黄色免费观看| 国产午夜亚洲精品理论片色戒| 亚洲图片欧美一区| www.成人网.com| 国产亚洲欧美日韩俺去了| 日韩avvvv在线播放| 色婷婷av一区二区三区软件| 国产日韩精品久久久| 毛片基地黄久久久久久天堂| 日本高清视频一区二区| 国产精品女同互慰在线看| 精品一区二区精品| 在线播放亚洲一区| 亚洲午夜精品久久久久久久久| a级高清视频欧美日韩| 亚洲一区二区免费视频| 91美女福利视频| 中文字幕在线观看不卡| 国产成人综合亚洲91猫咪| 欧美电视剧在线观看完整版| 午夜欧美电影在线观看| aaa国产一区| 国产欧美日韩三级| 国产综合久久久久久久久久久久| 欧美人狂配大交3d怪物一区 | 久久99深爱久久99精品| 欧美精三区欧美精三区| 亚洲一区免费观看| 色综合久久天天| 亚洲视频一区二区在线观看| caoporn国产一区二区| 中文字幕欧美激情| 国产91丝袜在线播放九色| 国产午夜三级一区二区三| 国产麻豆91精品| 国产日产欧美一区二区视频| 国产成人综合亚洲网站| 国产日韩av一区| eeuss鲁片一区二区三区在线看| 中文字幕欧美国产| 99久久伊人久久99| 综合久久久久久| 91福利视频网站| 一区二区三区精品在线| 色综合久久99| 亚洲一区视频在线| 在线播放/欧美激情| 免费观看91视频大全| 日韩三级视频中文字幕| 九九精品一区二区| 国产亚洲精品久| 成人app在线观看| 亚洲欧美国产77777| 欧美绝品在线观看成人午夜影视| 丝袜诱惑亚洲看片| 精品国产一区二区三区av性色| 国产真实精品久久二三区| 久久精品欧美一区二区三区麻豆| 成人一二三区视频| 亚洲蜜臀av乱码久久精品| 欧美福利视频导航| 国产毛片一区二区| 亚洲欧洲另类国产综合| 精品视频123区在线观看| 美女视频网站久久| 欧美极品另类videosde| 色天使久久综合网天天| 免费一级片91| 国产精品乱码久久久久久 | 久久久久久久网| av在线不卡观看免费观看| 亚洲综合一区二区| 欧美一区二区二区| 粉嫩欧美一区二区三区高清影视| 中文字幕一区二区三| 亚洲图片激情小说| 欧美日韩aaaaaa| 韩国理伦片一区二区三区在线播放| 国产精品成人免费| 91精品国产欧美一区二区18| 国产不卡在线视频| 爽好多水快深点欧美视频| 久久精品欧美一区二区三区不卡| 日本韩国欧美一区| 韩国精品在线观看| 亚洲一线二线三线视频| 精品久久久久一区二区国产| 99久久精品国产一区| 久久99国产精品久久| 中文字幕字幕中文在线中不卡视频| 884aa四虎影成人精品一区| 成年人网站91| 日本v片在线高清不卡在线观看| 国产精品美女一区二区三区| 91精品国产手机| 色妹子一区二区| 国产suv精品一区二区三区| 亚洲va韩国va欧美va精品| 国产精品久久久久影院亚瑟|