国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

PHP+Nginx經(jīng)常出現(xiàn)502、504原因與解決方法

這篇具有很好參考價(jià)值的文章主要介紹了PHP+Nginx經(jīng)常出現(xiàn)502、504原因與解決方法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

很多新手剛開始做網(wǎng)站可能感覺不到502,504的問題,當(dāng)?shù)饶憔W(wǎng)站到達(dá)了一定水平的時(shí)候,流量起來的時(shí)候,你會(huì)發(fā)現(xiàn)經(jīng)常會(huì)遇到502、504類似的問題。

一、什么是502狀態(tài)碼?

502 Bad Gateway:作為網(wǎng)關(guān)或者代理工作的服務(wù)器嘗試執(zhí)行請(qǐng)求時(shí),從上游服務(wù)器接收到無效的響應(yīng)。

二、502 Bad Gateway 原因一般有哪些?

將請(qǐng)求提交給網(wǎng)關(guān)如php-fpm執(zhí)行,但是由于某些原因沒有執(zhí)行完畢導(dǎo)致php-fpm進(jìn)程終止執(zhí)行。這個(gè)問題與網(wǎng)關(guān)服務(wù)如php-fpm的配置有關(guān)。

php-fpm.conf配置文件中有兩個(gè)參數(shù)就需要你考慮到,分別是max_children和request_terminate_timeout。

  • max_children最大子進(jìn)程數(shù),在高并發(fā)請(qǐng)求下,達(dá)到php-fpm最大響應(yīng)數(shù),后續(xù)的請(qǐng)求就會(huì)出現(xiàn)502錯(cuò)誤的??梢酝ㄟ^netstat命令來查看當(dāng)前連接數(shù)。

  • request_terminate_timeout設(shè)置單個(gè)請(qǐng)求的超時(shí)終止時(shí)間。還應(yīng)該注意到php.ini中的max_execution_time參數(shù)。當(dāng)請(qǐng)求終止時(shí),也會(huì)出現(xiàn)502錯(cuò)誤的。

當(dāng)積累了大量的php請(qǐng)求,你重啟php-fpm釋放資源,但一兩分鐘不到,502又再次呈現(xiàn),這是什么原因?qū)е碌哪兀?這時(shí)還應(yīng)該考慮到數(shù)據(jù)庫,查看下數(shù)據(jù)庫進(jìn)程是否有大量的locked進(jìn)程,數(shù)據(jù)庫死鎖導(dǎo)致超時(shí),前端終止了繼續(xù)請(qǐng)求,但是SQL語句還在等待釋放鎖,這時(shí)就要重啟數(shù)據(jù)庫服務(wù)了或kill掉死鎖SQL進(jìn)程了。

三、什么是504狀態(tài)碼?

504 Gateway Time-out:作為網(wǎng)關(guān)或者代理工作的服務(wù)器嘗試執(zhí)行請(qǐng)求時(shí),未能及時(shí)從上游服務(wù)器(URI標(biāo)識(shí)出的服務(wù)器,例如HTTP、FTP、LDAP)或者輔助服務(wù)器(例如DNS)收到響應(yīng)。

四、504 Gateway Time-out 原因一般有哪些?

504錯(cuò)誤一般是與nginx.conf 配置有關(guān)。主要與以下幾個(gè)參數(shù)有關(guān):

fastcgi_connect_timeout

fastcgi_send_timeout

fastcgi_read_timeout

fastcgi_buffer_size

fastcgi_buffers

fastcgi_busy_buffers_size

fastcgi_temp_file_write_size

fastcgi_intercept_errors

特別是前三個(gè)超時(shí)時(shí)間。如果fastcgi緩沖區(qū)太小會(huì)導(dǎo)致fastcgi進(jìn)程被掛起從而演變?yōu)?04錯(cuò)誤。

五、關(guān)于PHP+Nginx經(jīng)常出現(xiàn)502、504的解決方法

由于不同的原因,解決方法也是不一樣的,一定要根據(jù)實(shí)際的情況去分析。例如,以下是我以前遇到的502的相關(guān)問題。

1、Nginx 502 Bad Gateway 原因與解決方法

2、Nginx報(bào)錯(cuò):upstream timed out (110: Connection timed out) 原因與解決方法

今天重點(diǎn)說下我遇到504問題的解決方法。

由于我用的是PHP+Nginx+百度云加速CDN,然后,百度云加速CDN一直給我報(bào)504錯(cuò)誤,我排查了很多也沒有找到原因。

1、最初我以為修改nginx.conf,增加如下“error Connection timed out and 504 error”的代碼可以解決這個(gè)問題。

nginx 并發(fā)502,雜文筆記,php,nginx,數(shù)據(jù)庫

[root@localhost?/]#?vim?nginx.confserver?{????????listen?80;
????????server_name?zabbix.gree.com;
????????access_log?/roobo/logs/nginx/zabbix.gree.com_access.log?main;
????????error_log?/roobo/logs/nginx/zabbix.gree.com_error.log?error?;
????????root?/roobo/webserver/zabbix;????????index?index.html?index.htm?index.php;
?
????????location?/?{
????????????try_files?$uri?$uri/?/index.php$is_args$args;
????????}
????????location?~?\.php$?{
????????????try_files?$uri?=404;
????????????include?fastcgi.conf;
????????????fastcgi_pass?10.7.19.195:9000;
????????}
?
???????#error?Connection?timed?out?and?504?error
???????large_client_header_buffers?4?16k;
???????client_max_body_size?30m;
???????client_body_buffer_size?128k;
???????fastcgi_connect_timeout?300;
???????fastcgi_read_timeout?300;
???????fastcgi_send_timeout?300;
???????fastcgi_buffer_size?64k;
???????fastcgi_buffers???4?32k;
???????fastcgi_busy_buffers_size?64k;
???????fastcgi_temp_file_write_size?64k;
}

經(jīng)過測(cè)試,并沒有任何效果。

2、我又自信的以為是我用了FirewallD防火墻的原因,結(jié)果我關(guān)閉它,測(cè)試也沒有效果,照樣報(bào)504錯(cuò)誤。

3、最后當(dāng)再出現(xiàn)504錯(cuò)誤的時(shí)候,我直接暴力操作,殺死php-fpm,再重啟,就可以恢復(fù)正常,從而我判斷是php的問題。經(jīng)過我的排查,發(fā)現(xiàn)是“pm.max_requests”這個(gè)參數(shù)的問題,我最初設(shè)置的是204000,現(xiàn)在設(shè)置的是20400即可恢復(fù)正常,沒有再出現(xiàn)504錯(cuò)誤了,平均負(fù)載 Load Average也在正常的范圍類。

4、但是過一段時(shí)間后,又會(huì)出現(xiàn)“504連接超時(shí)”這個(gè)問題。

5、最終,經(jīng)過我?guī)滋斓臏y(cè)試,我最終php-fpm.conf參數(shù)調(diào)整如下即恢復(fù)正常:

注意:這里我順便說一下,我以前配置的參數(shù)是 pm.max_spare_servers = 60; pm.max_requests = 204800;

nginx 并發(fā)502,雜文筆記,php,nginx,數(shù)據(jù)庫

pm?=?dynamic
pm.start_servers?=?20
pm.min_spare_servers?=?20
pm.max_spare_servers?=?30
pm.max_requests?=?20480

總結(jié):

通俗點(diǎn)講,設(shè)置“pm.max_requests”參數(shù)小一點(diǎn),就是讓php-fpm能夠自動(dòng)的頻繁重啟,關(guān)于具體設(shè)置多大?要根據(jù)你的服務(wù)器配置以及流量狀況來分析,自己可以去做測(cè)試。

經(jīng)過我的的測(cè)試,我發(fā)現(xiàn)pm.max_requests設(shè)置太大會(huì)出現(xiàn)504 Gateway Time-out,pm.max_requests設(shè)置太小,平均負(fù)載 Load Average又會(huì)超出正常值的范圍,甚至更高。文章來源地址http://www.zghlxwxcb.cn/news/detail-610871.html

到了這里,關(guān)于PHP+Nginx經(jīng)常出現(xiàn)502、504原因與解決方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • nginx+php 出現(xiàn)502 bad gateway

    nginx+php 出現(xiàn)502 bad gateway,一般這都不是nginx的問題,而是由于 fastcgi或者php的問題導(dǎo)致的,常見的有以下幾種。 1. ? php.ini 的memory_limit 過?。ㄈ绻袀€(gè)別php程序進(jìn)程需要占用極大內(nèi)存時(shí)這個(gè)必須注意) 2. ? php-fpm.conf 中max_children或者max_requests ?設(shè)置不合理(設(shè)置過小會(huì)因?yàn)闆]

    2024年02月12日
    瀏覽(26)
  • 服務(wù)器報(bào)錯(cuò)nginx 502 Bad Gateway的原因以及解決辦法

    服務(wù)器報(bào)錯(cuò)nginx 502 Bad Gateway的原因以及解決辦法

    網(wǎng)站頁面出現(xiàn)502badgateway怎么辦?今天我們來分析一下原因和解決辦法。 nginx出現(xiàn)502多數(shù)是屬于后端的問題,后期就是PHP的問題,在php服務(wù)當(dāng)中,有兩個(gè)參數(shù)非常的重要:max_requestst 和max_children;具體的原因必須要查看日志才可以弄明白! 1:FastCGI進(jìn)程是否已經(jīng)啟動(dòng) ps aux|grep

    2023年04月20日
    瀏覽(24)
  • nginx服務(wù)器報(bào)錯(cuò)502 Bad Gateway的原因以及解決辦法

    服務(wù)器報(bào)錯(cuò)nginx 502 Bad Gateway的原因以及解決辦法_502 bad gateway nginx_主題模板站的博客-CSDN博客

    2024年02月13日
    瀏覽(25)
  • 服務(wù)器出現(xiàn)500、502、503錯(cuò)誤的原因以及解決方法

    服務(wù)器出現(xiàn)500、502、503錯(cuò)誤的原因以及解決方法

    服務(wù)器我們經(jīng)常會(huì)遇到訪問不了的情況有的時(shí)候是因?yàn)槲覀兎?wù)器被入侵了所以訪問不了,有的時(shí)候是因?yàn)槌霈F(xiàn)了服務(wù)器配置問題,或者軟硬件出現(xiàn)問題導(dǎo)致的無法訪問的問題,這時(shí)候會(huì)出現(xiàn)500、502、503等錯(cuò)誤代碼?;谝陨蠁栴}我們第一步可以先重啟服務(wù)器,一般重啟服務(wù)

    2024年01月18日
    瀏覽(29)
  • nginx反向代理502-Bad Gateway問題解決方法

    用nginx反向代理 localhost:80 域名到服務(wù)器 localhost:8080 端口服務(wù)時(shí),訪問出現(xiàn)502 bad gateway 原因分析: 1.查看8080端口服務(wù)啟動(dòng) 2.查看錯(cuò)誤日志:error.log,以centos7.x為例: 192.168.10.202 - - [08/May/2023:20:53:43 +0800] \\\"GET /jenkinsx/ HTTP/1.1\\\" 502 3693 \\\"-\\\" \\\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/53

    2024年02月06日
    瀏覽(35)
  • Nginx反向代理出現(xiàn)錯(cuò)誤 502 bad gateway 案例解析

    Nginx + uwsgi + flask Flask框架寫的程序,使用uwsgi啟動(dòng),Nginx作為反向代理調(diào)用Flask應(yīng)用。 Flask應(yīng)用有些操作時(shí)間比較長(zhǎng),會(huì)超過1分鐘,在網(wǎng)頁端訪問會(huì)出現(xiàn)錯(cuò)誤: 502 bad gateway。 Nginx的錯(cuò)誤日志中會(huì)出現(xiàn)錯(cuò)誤:upstream prematurely closed connection while reading response header from upstream 經(jīng)過網(wǎng)上

    2024年02月08日
    瀏覽(14)
  • 解決nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)以及nginx 502 Bad Gateway解決方法

    解決nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)以及nginx 502 Bad Gateway解決方法

    今天早晨到公司,打開測(cè)試環(huán)境的登錄網(wǎng)頁,如下圖所示: 輸入用戶名和密碼,點(diǎn)擊 login ,一直無法登錄。 于是,打開控制臺(tái),卻發(fā)現(xiàn)報(bào)出如下錯(cuò)誤: 于是,登錄 nginx 所在的服務(wù)器,使用如下命令,找到 nginx 的安裝目錄:

    2024年02月08日
    瀏覽(21)
  • Nginx應(yīng)用 解決Nginx - 504 Gateway Time-out問題

    目錄 問題背景 問題分析 解決方法 拓展知識(shí) 問題背景 線上有個(gè)系統(tǒng),最前端是設(shè)置了nginx作為代理,有個(gè)1個(gè)請(qǐng)求的接口需要耗時(shí)1.1分鐘左右,老是出現(xiàn)Nginx - 504 Gateway Time-out的錯(cuò)誤。 問題分析 繞過nginx直接訪問應(yīng)用tomcat直接的端口進(jìn)行相同條件測(cè)試,發(fā)現(xiàn)沒有問題,排除接

    2024年02月13日
    瀏覽(19)
  • 解決504 GATEWAY TIMEOUT Nginx網(wǎng)關(guān)超時(shí)

    解決504 GATEWAY TIMEOUT Nginx網(wǎng)關(guān)超時(shí)

    最近遇到一個(gè)問題504 GATEWAY TIMEOUT的問題,在瀏覽器的NetWork里面看是這個(gè)效果。時(shí)間大概是60s。 目前后端技術(shù)架構(gòu)主要是nginx和php-fpm,前端主要是vue框架打包發(fā)布。 于是首先想到了是nginx超時(shí)時(shí)間或者與php的超時(shí)時(shí)間設(shè)置的過段,然后配置nginx.conf設(shè)置了這些參數(shù)。 然后發(fā)現(xiàn)

    2024年02月02日
    瀏覽(92)
  • nginx405異常原因及解決方法

    nginx405異常原因及解決方法

    nginx405異常原因與解決方法,最詳細(xì)解釋 訪問接口出現(xiàn) 出現(xiàn)這個(gè)原因是因?yàn)楫?dāng)前接口沒有在nginx中配置解析到的路徑 例如你通過post訪問了www.xxx.com/v1/getinfo 但是v1這個(gè)路徑并沒有在nginx中配置,所以nginx自動(dòng)匹配到的就是/路徑,但是/路徑是訪問靜態(tài)資源的,只能通過get方法訪

    2024年02月06日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包