工作日志:502 Bad Gateway异常分析

今天公司某运营系统某接口出现502 Bad Gateway异常.

解决问题思路:去服务器查看nginx异常日志,查找nginx异常日志分析问题

1.使用sudo nginx -t查看nginx配置文件位置

ais-di@parrot:/etc/nginx$ sudo nginx -t
[sudo] password for ais-di: 
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

2.查看nginx.conf配置文件查找其异常日志存在的位置::

ais-di@parrot:/etc/nginx$ cat /etc/nginx/nginx.conf | grep error.log
	error_log /var/log/nginx/error.log;

3.查看异常日志文件,找到自己主机的请求

ais-di@parrot:/etc/nginx$ sudo cat /var/log/nginx/error.log | grep 10.25.8.103
2022/04/19 10:32:24 [error] 893#893: *7554500 connect() failed (111: Connection refused) while connecting to upstream, client: 10.25.8.103, server: marsops.i-tetris.com, request: "GET /api/nlu/sp/wa/single_pre_annotation?table=expr_model_inbox&setName=Abasic_kaidi_jiaqi_esp_function_on_20220417 HTTP/1.1", upstream: "http://10.86.11.38:8877/wa/single_pre_annotation?table=expr_model_inbox&setName=Abasic_kaidi_jiaqi_esp_function_on_20220417", host: "ais.i-tetris.com:9890", referrer: "http://ais.i-tetris.com:9890/"
2022/04/19 10:32:27 [error] 893#893: *7554507 connect() failed (111: Connection refused) while connecting to upstream, client: 10.25.8.103, server: marsops.i-tetris.com, request: "GET /api/nlu/sp/wa/single_pre_annotation?table=expr_model_inbox&setName=Abasic_kaidi_jiaqi_esp_function_on_20220417 HTTP/1.1", upstream: "http://10.86.11.38:8877/wa/single_pre_annotation?table=expr_model_inbox&setName=Abasic_kaidi_jiaqi_esp_function_on_20220417", host: "ais.i-tetris.com:9890", referrer: "http://ais.i-tetris.com:9890/"
2022/04/19 10:43:33 [error] 893#893: *7554621 connect() failed (111: Connection refused) while connecting to upstream, client: 10.25.8.103, server: marsops.i-tetris.com, request: "GET /api/nlu/sp/wa/single_pre_annotation?table=expr_model_inbox&setName=Abasic_kaidi_jiaqi_auto_emergency_braking_on_20220417 HTTP/1.1", upstream: "http://10.86.11.38:8877/wa/single_pre_annotation?table=expr_model_inbox&setName=Abasic_kaidi_jiaqi_auto_emergency_braking_on_20220417", host: "ais.i-tetris.com:9890", referrer: "http://ais.i-tetris.com:9890/"

4.去查看配置文件查看该服务是否正常启动
当查看nginx.conf文件时,并没有发现server块,是因为其被include在了其他的配置文件中,nginx支持多文件配置找到相应的文件,去查看该服务请求的端口

server {
    listen 9890;
    root /var/www/html/nlu;
    index index.php index.html index.htm index.nginx-debian.html;
    server_name marsops.i-tetris.com;
    client_max_body_size 100M;

    location / {
            try_files $uri $uri/ =404;
    }

    location /api/nlu/review/ {
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   Host      $http_host;
            proxy_http_version 1.1;
            proxy_set_header Connection "";
            proxy_connect_timeout       300;
            proxy_send_timeout          300;
            proxy_read_timeout          300;
            send_timeout                300;
            proxy_pass http://127.0.0.1:20731/;
    }

    location /api/nlu/sp/ {
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   Host      $http_host;
            proxy_http_version 1.1;
            proxy_set_header Connection "";
            proxy_connect_timeout       300;
            proxy_send_timeout          300;
            proxy_read_timeout          300;
            send_timeout                300;
            proxy_pass http://10.86.11.38:8877/;
    }
}

请求的接口前缀就是“/api/nlu/sp/”,发现实质是请求10.86.11.38:8877服务,而登录到该服务器上发现该服务未启动。启动即解决问题

猜你喜欢

转载自blog.csdn.net/qq_45867699/article/details/124390202