开发者社区> 问答> 正文

网站正常运行时有时会出现502错误,求助分析原因

用了阿里云负载均衡,后端服务器是两台阿里云的ECS服务器,linux系统,负载均衡监听的是TCP:443和HTTP:80两个端口,Nginx有配置http走80,https走443。
我所知道的网站是结构是Java+Nginx+Resin+Mencached+FastDFS。
网站有时候在正常运行一段时间后突然就不能访问了,提示502错误,并不是后端超市,就是输入域名回车直接就提示502 Bad Gateway,没有等待时间,出现502错误的时候在阿里云的负载均衡控制台看80端口异常,443端口正常,如果用https://www.xxxx.com访问网站就可以打开只是很慢。


查看后端应用服务器日志正常,批处理正常执行。
Nginx有监听80端口。


Nginx的err日志有提示节点no live全部挂掉。


防火墙并没有启动,应该不是防火墙的原因,因为网站在出现502错误之前是可用的。




以前出现502错误时候因为查不出原因只能一个办法一个办法的试,后来发现只要先停止一台服务器上的web应用,再杀掉memchached的进程并重启,再重启web应用就可以了,然而昨天又出现502错误,按以前的方案没有任何作用,最后我把两台机器都重启了,然后重新启动Nginx,FastDFS,Memcached和java工程,不过依然没卵用,也许是忙的焦头烂额记错了还是什么原因,我在应用日志的时候竟然发现四次java应用自动重启了,就是已启动的java应用日志中出现这种日志(也可能是我之前的操作问题,有时候resinctl stop停服务后 依然后java进程,我就直接kill掉了):




然后就在我昨天不停重启不停
----------------------------------------------------------------------------------------------------------------------------------------------------------
情况大概就是上面的那样,请各位帮我分析下原因出在哪上面。
以前设置过memcached,nginx和resin的连接数,我觉得问题应该也不是在链接数什么的上面,如果是这个原因机器都重启了肯定就可以了啊...
而且为什么80端口突然就不通呢?就在我昨天不断重启看日志的时候80端口莫名其妙的自己又通了,我并不认为这个我的操作有关,以为我很多操作都是重复的,
求助帮我分析下啊,实在焦头烂额......

展开
收起
白开水vv 2016-02-24 17:37:40 25395 0
6 条回答
写回答
取消 提交回答
  • Re网站正常运行时有时会出现502错误,求助分析原因
    我也是遇到了同样的问题,而且每天都是在指定时间段出现该问题的,有结果的话能不能也跟我说一下,谢谢!
    2016-02-25 10:36:22
    赞同 展开评论 打赏
  • 502错误一般是服务器超时问题,检查下你的NGINX看看
    2016-02-24 20:29:36
    赞同 展开评论 打赏
  • 一个程序员,欢迎骚扰!!!
    502 一般就是后端出错了 试一下 直接访问 后端端口是否可以访问。应该是网站程序的问题

    楼主使用什么连接的memcached   是 XMemcached 还是SpyMemcached?

    -------------------------

    回 6楼(白开水vv) 的帖子
    单独访问后端 可以吗?
    2016-02-24 19:31:32
    赞同 展开评论 打赏
  • 这个要去分析nginx的日志,找到具体原因了。
    2016-02-24 18:41:14
    赞同 展开评论 打赏
  • 回 1楼西秦的帖子
    你好,在提示502期间我查看了应用日志是正常的,而且有问题的时候是两台机器的80端口同时异常。
    有定义错误返回,而且即使是未定义错误返回,也不可能在输入主页地址时候出现502啊,以为之前一直都是正常的

    -------------------------

    回 5楼小柒2012的帖子
    memcached我也不是很懂啊,我只是知道项目里用到了memcached,出错是IP+80端口访问不了,但是后台应用日志是没有错误信息的。
    如果是网站程序问题的话 为什么会出现这种一直运行的好好的突然就出现了502错误,然后又自己莫名其妙的好了,而且没有规律性,并不是程序运行了好久就出现这种问题。

    -------------------------

    回 3楼西秦的帖子
    你好,出现reString这种日志是昨天才第一次发现的,场景是我已经启动了应用,后台日志一直在打印正常程序运行的日志,然后就突然出现这样的日志,然后是程序启动日志,然后就是正常启动程序后的样子了

    -------------------------

    回 4楼kideny的帖子
    你好,nginx日志只提示了我截图上面的那些...出现这种问题的时候443端口是正常的,只有80端口不通,而且是两台机器同时出现这种情况

    -------------------------

    回 9楼空格博客的帖子
    你好,我没有遇到过超时导致502的情况,我的网站出现这种问题的时候在负载均衡控制台看80端口异常,后台程序日志是正常的。但是这种情况是突然出现的,比如程序启动以后一切都是好好的,过了几小时或者几天或者几个月突然80端口就异常了...

    -------------------------

    回 11楼西秦的帖子
    你好,我就是开发人员,这个项目是半路接手的,Nginx+Resin+Memcached也都是自己摸索出来的,以前没用过这些

    -------------------------

    回 12楼小柒2012的帖子
    出问题的时候如果通过https访问可以进入网站,不过速度明显变慢,通过IP+80端口无法访问,IP+8080貌似可以打开resin目录,昨天出问题的时候没有试过IP+8080访问,所以不敢肯定。

    -------------------------

    Re网站正常运行时有时会出现502错误,求助分析原因
    我现在很疑惑的问题是:如果是致命的Nginx或者Resin或者其他什么的配置错误,那程序在启动时候就会出错误啊,可是启动程序是正常的,网站也是绝大多数时候都是正常访问的。如果是运行一段时间后因为有内存泄露造成内存不足或者Nginx什么的链接数不够了,那么重启服务或者重启几次了应该就能恢复正常了吧,可是昨天出问题的时候两台机器我都重启过,依然没用。而且出问题的时候只是80端口有问题,443端口正常,所以我完全猜不出问题是出在哪里,是Java Web程序?还是Nginx?还是Resin?还是其他的什么

    -------------------------

    回 17楼西秦的帖子
    你好,出现问题的时候后台程序运行完全正常啊,日志没有任何异常,而且通过https是可以访问的

    -------------------------

    回 16楼lab2016的帖子
    你的是java程序还是php的? 如果是php的可以尝试修改php-fpm的链接数

    -------------------------

    回 20楼西秦的帖子
    你好,你所说的”后端是否发送了拒绝请求“是指Nginx拒绝还是Resin拒绝?
    我在nginx的日志里看到俩日志access.log 和 error.log,error.log的日志就是我前面贴的那个提示节点no live全部挂掉的截图,
    access.log里面就是正常请求日志。
    2016-02-24 17:56:13
    赞同 展开评论 打赏
  • 码农|Coder| Pythonista
    502是后端问题。后端服务器挂掉就会报502 ,建议您检查下您的代码。根据您的截图,您是否未定义非法访问的返回

    -------------------------

    根据您的reStart.jpg看是卡在/invest这个请求上,建议让程序员检测下程序。
    从运维的角度看,Ngx没有问题。问题出在java后端

    -------------------------

    回 10楼(白开水vv) 的帖子
    根据运维的经验和Nginx对错误码的解释。502问题只能查后端,我不是Java开发人员,需要你和Java开发者进行交流。

    -------------------------

    这个东西我只能告诉您,目前问题出在代码上,Nginx层面没有问题

    -------------------------

    您的后端是否发送了拒绝请求?
    可以上传一份Nginx的日志上了

    -------------------------

    Nginx的后端,Nginx将请求转发给谁了

    2016-02-24 17:49:19
    赞同 展开评论 打赏
滑动查看更多
问答排行榜
最热
最新

相关电子书

更多
网络流量异常行为分析系统 立即下载
面向失败设计 立即下载
代码未写,漏洞已出——谈谈设计不当导致的安全问题 立即下载