Nginx 502 Bad Gateway錯誤原因及解決方案
Nginx 502 Bad Gateway 的錯誤已經(jīng)遇到好幾次了,這里做一下記錄,備忘哈哈。
會有好多種情況出現(xiàn)502錯誤,下面我們分情況來說一下。
一、fastcgi緩沖區(qū)設置過小
出現(xiàn)錯誤,首先要查找nginx的日志文件,目錄為/var/log/nginx,在日志中發(fā)現(xiàn)了如下錯誤。
2013/01/17 13:33:47 [error] 15421#0: *16 upstream sent too big header while reading response header from upstream
查閱了一下資料,大意是nginx緩沖區(qū)有一個bug造成的,我們網(wǎng)站的頁面消耗占用緩沖區(qū)可能過大。
網(wǎng)上查找了一下解決方法,在國外網(wǎng)站看到了一個增加緩沖區(qū)的方法,徹底解決了Nginx 502 Bad Gateway的問題。方法如下:
http { ... fastcgi_buffers 8 16k; fastcgi_buffer_size 32k; ... }
請根據(jù)服務器已經(jīng)網(wǎng)站的情況自行增大上述兩個配置項。
二、代理緩沖區(qū)設置過小
如果你使用的是nginx反向代理,如果header過大,超出了默認的1k,就會引發(fā)上述的upstream sent too big header (說白了就是nginx把外部請求給后端處理,后端返回的header太大,nginx處理不過來就會導致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; ............ }
三、默認php-cgi的進程數(shù)設置過少
在安裝好使用過程中出現(xiàn)502問題,一般是因為默認php-cgi進程是5個,可能因為phpcgi進程不夠用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 將其中的max_children值適當增加。也有可能是max_requests值不夠用。需要說明的是這連個配置項占用內(nèi)存很大,請根據(jù)服務器配置進行設置。否則可能起到反效果。
四、php執(zhí)行超時
php執(zhí)行超時,修改/usr/local/php/etc/php.ini 將max_execution_time 改為300
五、nginx等待時間超時
部分PHP程序的執(zhí)行時間超過了Nginx的等待時間,可以適當增加nginx.conf配置文件中FastCGI的timeout時間
http { fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; ..... }
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- Nginx 502 bad gateway和Nginx 504 Gateway Time-out錯誤解決方法 錯誤解決辦法
- 502 bad gateway是什么意思 502 bad gateway錯誤解決方法
- 深入探討:Nginx 502 Bad Gateway錯誤的解決方法
- nginx 502 Bad Gateway 錯誤解決辦法
- Nginx 502 Bad Gateway錯誤常見的4種原因和解決方法
- PHP 502bad gateway原因及解決方案
- nginx服務器異常502 bad gateway原因排查
- Nginx?502?bad?gateway錯誤解決的九種方案及原因
- Nginx 502 Bad Gateway錯誤解決詳細指南與實例
相關(guān)文章
nginx反向代理服務因配置文件錯誤導致訪問資源時出現(xiàn)404
這篇文章主要介紹了nginx反向代理服務因配置文件錯誤導致訪問資源時出現(xiàn)404,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06keepalived+nginx高可用實現(xiàn)方法示例
這篇文章主要介紹了keepalived+nginx高可用實現(xiàn)方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-05-05Nginx跨域設置Access-Control-Allow-Origin無效的解決辦法
今天小編就為大家分享一篇關(guān)于Nginx跨域設置Access-Control-Allow-Origin無效的解決辦法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-02-02nginx+rsync+inotify實現(xiàn)負載均衡配置方法
這篇文章主要介紹了nginx+rsync+inotify實現(xiàn)負載均衡配置方法,需要的朋友可以參考下2014-11-11