nginx报网络连接错误(Nginx 502 Bad Gateway错误原因及解决方案)
nginx报网络连接错误
Nginx 502 Bad Gateway错误原因及解决方案Nginx 502 Bad Gateway 的错误已经遇到好几次了,这里做一下记录,备忘哈哈。
会有好多种情况出现502错误,下面我们分情况来说一下。
一、fastcgi缓冲区设置过小
出现错误,首先要查找nginx的日志文件,目录为/var/log/nginx,在日志中发现了如下错误。
2013/01/17 13:33:47 [error] 15421#0: *16 upstream sent too big header while reading response header from upstream
查阅了一下资料,大意是nginx缓冲区有一个bug造成的,我们网站的页面消耗占用缓冲区可能过大。
网上查找了一下解决方法,在国外网站看到了一个增加缓冲区的方法,彻底解决了Nginx 502 Bad Gateway的问题。方法如下:
http { ... fastcgi_buffers 8 16k; fastcgi_buffer_size 32k; ... }
请根据服务器已经网站的情况自行增大上述两个配置项。
二、代理缓冲区设置过小
如果你使用的是nginx反向代理,如果header过大,超出了默认的1k,就会引发上述的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的进程数设置过少
在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加。也有可能是max_requests值不够用。需要说明的是这连个配置项占用内存很大,请根据服务器配置进行设置。否则可能起到反效果。
四、php执行超时
php执行超时,修改/usr/local/php/etc/php.ini 将max_execution_time 改为300
五、nginx等待时间超时
部分PHP程序的执行时间超过了Nginx的等待时间,可以适当增加nginx.conf配置文件中FastCGI的timeout时间
http { fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; ..... }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
- nginx怎么设置域名访问网页(Nginx服务器如何设置url链接)
- nginx 配置https(Nginx下配置Https证书详细过程)
- nginxpython编写模块(Python开发之Nginx+uWSGI+virtualenv多项目部署教程)
- nginx网站集群(Nginx实现高可用集群构建Keepalived+Haproxy+Nginx)
- nginx路径匹配优先级(Nginx的location的常见规则优先级问题)
- nginx tomcat集群(Nginx+tomcat负载均衡集群的实现方法)
- nginx常见错误码(Nginx常见的错误配置举例)
- nginx负载均衡与动静分离(Nginx配置之实现多台服务器负载均衡)
- nginx配置两个前端web服务(你真的了解如何将Nginx配置为Web服务器吗)
- docker中如何使用nginx(docker nginx实现一个主机部署多个站点操作)
- nginx服务器和apache服务器(Nginx vs Apache两大web服务器比较)
- nginx 一个域名对应多个项目(nginx前后端同域名配置的方法实现)
- nginx 处理服务器错误(nginx服务器异常502 bad gateway原因排查)
- linux nginx部署前端项目(nginx部署多前端项目的几种方法)
- 宝塔面板phpMyAdmin错误教程(宝塔面板phpMyAdmin报错502 Bad Gateway nginx解决方法)
- nginx为什么要配置https(Nginx配置Https安全认证的实现)
- 世界上只有妈妈好(世界上只有妈妈好的歌词)
- 为什么现在社会越来越卷了(现在社会为什么发展那么快呢)
- 直播带货能赚到很多钱吗(直播带货能赚到很多钱吗现在)
- 做网红真的很能赚钱吗(做网红真的很能赚钱吗)
- 10句英语常用(英语常用900句)
- 爱情能当饭吃吗(爱情能当饭吃吗说说)
热门推荐
- 异步调用中HttpContext.Current为null解决方法
- css 翻动效果(CSS实现全屏切换效果的示例代码)
- windowsserver远程登录和唤醒(Windows Server 2016远程桌面服务配置和授权激活2个用户)
- python中统计文本中单词数的代码(Linux上使用Python统计每天的键盘输入次数)
- webpack常用的配置(webpack-dev-server搭建本地服务器的实现)
- react重点和难点(关于React状态管理的三个规则总结)
- html5 spellcheck属性
- Extjs中grid 的ColumnModel 属性配置
- web服务器的配置教程(服务器的配置 web服务器配置方法步骤详解)
- mysql为啥使用b+树(MySQL用B+树作为索引结构有什么好处)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9