真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Nginx與FastCGI哪個(gè)影響超時(shí)時(shí)間

這篇文章主要介紹“Nginx與FastCGI哪個(gè)影響超時(shí)時(shí)間”,在日常操作中,相信很多人在Nginx與FastCGI哪個(gè)影響超時(shí)時(shí)間問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Nginx與FastCGI哪個(gè)影響超時(shí)時(shí)間”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

十多年的滕州網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都全網(wǎng)營(yíng)銷的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整滕州建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“滕州網(wǎng)站設(shè)計(jì)”,“滕州網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

需求

一個(gè)php程序要跑一段時(shí)間,但是時(shí)間不確定。

問題:   

當(dāng)該php程序運(yùn)行超過一段時(shí)間被強(qiáng)制斷開連接。

PHP本身超時(shí)處理

在 php.ini 中,有一個(gè)參數(shù) max_execution_time 可以設(shè)置 PHP 腳本的最大執(zhí)行時(shí)間,但是,在 php-cgi(php-fpm) 中,該參數(shù)不會(huì)起效。真正能夠控制 PHP 腳本最大執(zhí)行時(shí):

0s

就是說如果是使用 mod_php5.so 的模式運(yùn)行 max_execution_time 是會(huì)生效的,但是如果是php-fpm模式中運(yùn)行時(shí)不生效的。

max_execution_time

計(jì)算的只是PHP腳本本身執(zhí)行的時(shí)間,執(zhí)行之外的時(shí)間都不會(huì)計(jì)算在內(nèi)。哪些屬于執(zhí)行之外的時(shí)間呢?包含sleep、數(shù)據(jù)交互、socket交互等等。

request_terminate_timeout = 0  即為不受時(shí)間控制,永不超時(shí)

request_terminate_timeout引起的資源問題

request_terminate_timeout的值如果設(shè)置為0或者過長(zhǎng)的時(shí)間,可能會(huì)引起file_get_contents的資源問題。

如果file_get_contents請(qǐng)求的遠(yuǎn)程資源如果反應(yīng)過慢,file_get_contents就會(huì)一直卡在那里不會(huì)超時(shí)。我們知道php.ini 里面max_execution_time 可以設(shè)置 PHP 腳本的最大執(zhí)行時(shí)間,但是,在 php-cgi(php-fpm) 中,該參數(shù)不會(huì)起效。真正能夠控制 PHP 腳本最大執(zhí)行時(shí)間的是 php-fpm.conf 配置文件中的request_terminate_timeout參數(shù)。

request_terminate_timeout默認(rèn)值為 0 秒,也就是說,PHP 腳本會(huì)一直執(zhí)行下去。這樣,當(dāng)所有的 php-cgi 進(jìn)程都卡在 file_get_contents() 函數(shù)時(shí),這臺(tái) Nginx+PHP 的 WebServer 已經(jīng)無法再處理新的 PHP 請(qǐng)求了,Nginx 將給用戶返回“502 Bad Gateway”。修改該參數(shù),設(shè)置一個(gè) PHP 腳本最大執(zhí)行時(shí)間是必要的,但是,治標(biāo)不治本。例如改成30s,如果發(fā)生 file_get_contents() 獲取網(wǎng)頁(yè)內(nèi)容較慢的情況,這就意味著 150 個(gè) php-cgi 進(jìn)程,每秒鐘只能處理 5 個(gè)請(qǐng)求,WebServer 同樣很難避免”502 Bad Gateway”。解決辦法是request_terminate_timeout設(shè)置為10s或者一個(gè)合理的值,或者給file_get_contents加一個(gè)超時(shí)參數(shù)

如果常有請(qǐng)求超時(shí),請(qǐng)打開php-fpm的慢日志,通過日志來確認(rèn)評(píng)估超時(shí)時(shí)間。

Ngnix中的fastcgi 請(qǐng)求時(shí)間控制

fastcgi_connect_timeout

語(yǔ)法:fastcgi_connect_timeout time

默認(rèn)值:fastcgi_connect_timeout 60

使用字段:http, server, location

指定同F(xiàn)astCGI服務(wù)器的連接超時(shí)時(shí)間,這個(gè)值不能超過75秒。

fastcgi_read_timeout

語(yǔ)法:fastcgi_read_timeout time

默認(rèn)值:fastcgi_read_timeout 60

使用字段:http, server, location

前端FastCGI服務(wù)器的響應(yīng)超時(shí)時(shí)間,如果有一些直到它們運(yùn)行完才有輸出的長(zhǎng)時(shí)間運(yùn)行的FastCGI進(jìn)程,或者在錯(cuò)誤日志中出現(xiàn)前端服務(wù)器響應(yīng)超時(shí)錯(cuò)誤,可能需要調(diào)整這個(gè)值。

fastcgi_send_timeout

語(yǔ)法:fastcgi_send_timeout time

默認(rèn)值:fastcgi_send_timeout 60

使用字段:http, server, location

指令為上游服務(wù)器設(shè)置等待一個(gè)FastCGI進(jìn)程的傳送數(shù)據(jù)時(shí)間,如果有一些直到它們運(yùn)行完才有輸出的長(zhǎng)時(shí)間運(yùn)行的FastCGI進(jìn)程,那么可以修改這個(gè)值,如果你在上游服務(wù)器的error log里面發(fā)現(xiàn)一些超時(shí)錯(cuò)誤,那么可以恰當(dāng)?shù)脑黾舆@個(gè)值。

指令指定請(qǐng)求服務(wù)器的超時(shí)時(shí)間,指完成了2次握手的連接,而不是完整的連接,如果在這期間客戶端沒有進(jìn)行數(shù)據(jù)傳遞,那么服務(wù)器將關(guān)閉這個(gè)連接。

在Nginx+FastCGI 配置測(cè)試中

其中在request_terminate_timeout設(shè)置為永不超時(shí)的情況下,nginx中fastcgi_read_timeout 的設(shè)置時(shí)間將影響到最終的超時(shí)時(shí)間。

測(cè)試中,如果是php-fpm中的超時(shí)

將顯示 502 Bad Gateway

502 Bad Gateway

502 Bad Gateway


nginx

如果是nginx中cgi配置超時(shí)

將顯示 504 Gateway Time-out

504 Gateway Time-out

504 Gateway Time-out


nginx

到此,關(guān)于“Nginx與FastCGI哪個(gè)影響超時(shí)時(shí)間”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!


文章名稱:Nginx與FastCGI哪個(gè)影響超時(shí)時(shí)間
網(wǎng)址分享:http://weahome.cn/article/gesjej.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部