1、排查问题
首先需要打开nginx错误日志。
编辑nginx.conf,默认路径在/usr/local/nginx/conf/nginx.conf ,将错误日志输入到/usr/local/nginx/log/error_nginx.log ,更改为info级别。
错误日志级别:常见的错误日志级别有[debug | info | notice | warn | error | crit | alert | emerg],级别越高记录的信息越少。
生产场景一般是 warn | error | crit 这三个级别之一
注意:
不要配置info等级较低的级别,会带来大量的磁盘I/O消耗,问题定位后,请调整日志级别至crit
。
2、点击报错的业务功能,并查看nginx错误日志
tail -50f /usr/local/nginx/log/error_nginx.log
下面是我遇到的nginx报错,很明显是头部数据太大了 。
此问题解决方案:
在nginx.conf转发的配置上增加,即location 下面
proxy_buffer_size 128k;
proxy_buffers 32 32k;
proxy_busy_buffers_size 128k;
基本上,出了nginx 502问题,查看这个错误日志,基本就能定位一些问题了。
转自:http://my.oschina.net/junn/blog/147923
502
Bad
Gateway
服务器作为网关或者代理时,为了完成请求访问下一个服务器,但该服务器返回了非法的应答。
解决
办法是:再刷新一下网页或清理一下电脑的缓冲文件在打开你想打开的网页就好了.(一般情况下,这种办法是行得通的,但也不排除你所访问的网页被屏蔽的可能,如果你所访问的网页被屏蔽的话,就不管你
我的
解决
方式比较小白, 第一次
报
这个错(
nginx
502
Bad
Gateway
).网上找了一大圈都是PHP什么的,但是好像都不适用.
于是问了之前的一个同事,他说是不是我的tomcat关闭了,我恍然大悟,去看了下,果然是的.
然后启动tomcat就好了.
附上tomcat如何查看日志,以便查找为何tomcat关闭了.
在linux上部署项目时,启动tomcat,经常只能看到如下的显示:...
根据错误信息可以判定是后端的问题,502错误的原因有很多种,但总的来说就是服务器处理不过来了
1.首先查看服务器日志
1)先查
nginx
日志,不熟悉的可以从
nginx
.conf中获取error_log的路径,找到错误如下:
发现
nginx
进程处理的连接数不够用,单个进程处理的连接数超过了
nginx
.conf配置的worker_connectio...
网站的访问量大,而php-cgi的进程数偏少。
针对这种情况的502错误,只需增加php-cgi的进程数。具体就是修改/usr/local/php/etc/php-fpm.conf文件,将其中的max_children值适当增加。这个数据要依据你的VPS或独立服务器的配置进行设置。一般一个php-cgi进程占20M内存,你可以自己计算下,适量增多。
/usr/local/php/sbin/php-fpm...
今天部署了nacos集群,使用
nginx
做负载均衡。
之前自己测试的时候都好好的,但一部署,小组其他人的项目也注册到nacos中后,
nginx
就变得非常容易
报
502
bad
gateway
。
进入
nginx
容器查看了一下日志:
2020/04/21 10:30:45 [error] 5#5: *1922 upstream timed out (110: Connection timed out) ...
今天一个接口502,不理解一个逻辑很简单的接口怎么会失败。因为我们的的架构是ofe+
nginx
+php,熟悉这个架构的人都知道,502错误码通常是php-fpm对应的fastcgi进程处理不过来请求导致的。
502状态码也叫网关错误,通常是因为并发请求高超过php-fpm处理能力,导致
nginx
没有从upstream收到正确的返回结果。
nginx
从上面的图中可以看到,upstream_time超过了5s,而正常的请求只需要10ms左右。乍一看像是超时,因为
nginx
.conf里面配置的fa..