Nginx 502 Bad Gateway錯(cuò)誤原因及解決方案
Nginx 502 Bad Gateway 的錯(cuò)誤已經(jīng)遇到好幾次了,這里做一下記錄,備忘哈哈。
會(huì)有好多種情況出現(xiàn)502錯(cuò)誤,下面我們分情況來說一下。
一、fastcgi緩沖區(qū)設(shè)置過小
出現(xiàn)錯(cuò)誤,首先要查找nginx的日志文件,目錄為/var/log/nginx,在日志中發(fā)現(xiàn)了如下錯(cuò)誤。
2013/01/17 13:33:47 [error] 15421#0: *16 upstream sent too big header while reading response header from upstream
查閱了一下資料,大意是nginx緩沖區(qū)有一個(gè)bug造成的,我們網(wǎng)站的頁面消耗占用緩沖區(qū)可能過大。
網(wǎng)上查找了一下解決方法,在國外網(wǎng)站看到了一個(gè)增加緩沖區(qū)的方法,徹底解決了Nginx 502 Bad Gateway的問題。方法如下:
http {
...
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
...
}
請(qǐng)根據(jù)服務(wù)器已經(jīng)網(wǎng)站的情況自行增大上述兩個(gè)配置項(xiàng)。
二、代理緩沖區(qū)設(shè)置過小
如果你使用的是nginx反向代理,如果header過大,超出了默認(rèn)的1k,就會(huì)引發(fā)上述的upstream sent too big header (說白了就是nginx把外部請(qǐng)求給后端處理,后端返回的header太大,nginx處理不過來就會(huì)導(dǎo)致502。
server {
listen 80;
server_name *.lxy.me;
location / {
###############添加這3行
proxy_buffer_size 64k;
proxy_buffers 32 32k;
proxy_busy_buffers_size 128k;
###############添加這3行
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
............
}
三、默認(rèn)php-cgi的進(jìn)程數(shù)設(shè)置過少
在安裝好使用過程中出現(xiàn)502問題,一般是因?yàn)槟J(rèn)php-cgi進(jìn)程是5個(gè),可能因?yàn)閜hpcgi進(jìn)程不夠用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 將其中的max_children值適當(dāng)增加。也有可能是max_requests值不夠用。需要說明的是這連個(gè)配置項(xiàng)占用內(nèi)存很大,請(qǐng)根據(jù)服務(wù)器配置進(jìn)行設(shè)置。否則可能起到反效果。
四、php執(zhí)行超時(shí)
php執(zhí)行超時(shí),修改/usr/local/php/etc/php.ini 將max_execution_time 改為300
五、nginx等待時(shí)間超時(shí)
部分PHP程序的執(zhí)行時(shí)間超過了Nginx的等待時(shí)間,可以適當(dāng)增加nginx.conf配置文件中FastCGI的timeout時(shí)間
http {
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
.....
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Nginx?502?bad?gateway錯(cuò)誤解決的九種方案及原因
- nginx服務(wù)器異常502 bad gateway原因排查
- Nginx 502 Bad Gateway錯(cuò)誤常見的4種原因和解決方法
- 深入探討:Nginx 502 Bad Gateway錯(cuò)誤的解決方法
- 服務(wù)器報(bào)錯(cuò)nginx?502?Bad?Gateway的原因及如何解決詳解
- 解決502?Bad?Gateway錯(cuò)誤的詳細(xì)指南與實(shí)例
- 502?Bad?Gateway產(chǎn)生的原因及8個(gè)詳細(xì)的解決方法總結(jié)
- 計(jì)算機(jī)出現(xiàn)502Bad Gateway錯(cuò)誤完全解決指南(不懂代碼也不用懂服務(wù)器)
相關(guān)文章
nginx 部署前端vue項(xiàng)目的方法實(shí)踐
本文主要介紹了Nginx的基本概念及其優(yōu)點(diǎn),并詳細(xì)闡述了如何使用Nginx部署前端Vue項(xiàng)目的步驟,主要包括安裝Nginx、打包Vue項(xiàng)目和配置Nginx三個(gè)步驟,感興趣的可以了解一下2024-10-10
Nginx服務(wù)器配置HTTPS nginx.config 配置文件(教程)
下面小編就為大家分享一篇Nginx服務(wù)器配置HTTPS nginx.config 配置文件(教程),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2017-12-12
Nginx配置同一個(gè)域名同時(shí)支持http與https兩種方式訪問實(shí)現(xiàn)
這篇文章主要介紹了Nginx配置同一個(gè)域名同時(shí)支持http與https兩種方式訪問實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
nginx的keepalive相關(guān)參數(shù)使用源碼解讀
這篇文章主要為大家介紹了nginx的keepalive相關(guān)參數(shù)使用源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12
Nginx?Rewrite及Location的使用與區(qū)別
rewrite和location的功能有點(diǎn)相像,都能實(shí)現(xiàn)跳轉(zhuǎn),本文主要介紹了Nginx?Rewrite及Location的使用與區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下2023-08-08
Nginx配置帶SSL認(rèn)證的轉(zhuǎn)發(fā)方式 (HTTPS請(qǐng)求)
本文詳細(xì)介紹了如何在Windows系統(tǒng)上安裝和配置Nginx以支持HTTPS,首先,下載并解壓Nginx和OpenSSL,并配置環(huán)境變量,然后,生成SSL證書和密鑰文件,并在Nginx配置文件中啟用SSL,最后,啟動(dòng)Nginx并訪問配置的HTTPS路徑以驗(yàn)證配置是否成功2026-01-01
Nginx搭建負(fù)載均衡集群的實(shí)現(xiàn)
這篇文章主要介紹了Nginx搭建負(fù)載均衡集群的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03


