本地回环网卡(lo)未启动导致使用Nginx访问网页提示“502”和“connect upstream time out”报错,如何处理?

本文介绍本地回环网卡(lo)未启动,导致使用Nginx访问网页提示“502”和“connect upstream time out”报错的问题现象、问题原因和解决方案。

问题描述

在使用Nginx访问网页时,提示“502”错误,如图所示:

20230209211137

此时,进行如下检查,发现Nginx服务日志中出现“connect upstream time out”报错:

  1. 检查在PHP-FPM进程,发现PHP-FPM进程正常运行,如图所示。

    20230209211705
  2. 查看Nginx服务日志,发现Nginx服务日志中出现“connect upstream time out”报错,如图所示。

    connect upstream time out
    20230209205043

问题原因

PHP-FPM服务正常启动且已设置了监听端口(127.0.0.1:9000),但由于本地回环网卡(lo)未启动,从而导致该问题。

解决方案

您需要检查本地回环网卡(lo)是否正常启动,如果未启动则需要启动后重新访问网站,操作步骤如下:

  1. 远程连接ECS实例。

    具体操作,请参见连接方式概述

  2. 检查本地回环网卡(lo)是否正常启动。

    1. 执行ifconfig -a命令,查看当前系统的网卡信息。

      当本地回环网卡(lo)状态未启动,如图所示,则您需要启动本地回环网卡(lo)。

      20230209210535
    2. 执行 ifup ifcfg-lo命令,启动本地回环网卡(lo)。

      当本地回环网卡(lo)状态为RUNNING时,表示成功启动本地回环网卡(lo),如图所示。

      20230209210851
  3. 检查本地回环网卡(lo)配置文件。

    1. 执行如下命令,编辑本地回环网卡(lo)的配置文件。

      您需要根据您的实际操作系统执行对应的命令,常见操作系统命令如下:

      • CentOS 7或Alibaba Cloud Linux 2/3

        vim /etc/sysconfig/network-script/ifcfg-lo
      • Ubuntu 16.04

        vim /etc/network/interfaces
      • Ubuntu 18.04及以上版本

        vim /etc/netplan/50-cloud-init.yaml

      以CentOS操作系统为例,如果命令回显中,ONBOOT参数的值为no,则您需要将ONBOOT=no修改为ONBOOT=yes,如图所示。

      说明

      如果您的操作系统中无ONBOOT参数相关的配置,则您只需要在网卡正常启动后,检查配置文件正确即可。

    2. 输入:wq并回车,保存并关闭配置文件。

    3. 执行systemctl restart network命令,重启网络。

  4. 重新使用Nginx访问网页。