Linux实例启动常见服务并查询端口监听状态的方法

概述

当您无法访问Linux实例中的服务时,可能的问题原因之一是该服务对应的进程未处于运行中。以下列举几个Linux实例中常见的服务以及这些服务未运行时产生的影响。

服务名称

描述

默认监听的端口

未运行时的影响

SSH

远程连接

22

无法通过SSH远程连接

Web

Web网站服务

80(HTTP)、443(HTTPS)

无法访问网站

MySQL

MySQL数据库

3306

无法访问数据库

本文主要介绍Linux实例启动常见服务的方法并确认这些服务的端口处于监听状态。

详细信息

为了清晰展现操作过程,此处以在CentOS 7系统为例。其他Linux发行版系统,请查阅对应的官方文档。操作步骤如下:

  1. 远程登录Linux实例。关于如何远程登录,请参见ECS连接方式概述

    说明

    说明:如果您无法通过SSH的方式登录Linux实例,请参见 无法通过SSH远程登录Linux实例时的排查指引

  2. 在Linux实例中执行以下命令,检查目标服务的端口监听状态。确认系统无返回结果,即目标服务的端口未处于监听状态。

    netstat -ntlp | grep [$Port]
    说明

    说明:[$Port]指目标服务监听的端口,现场以实际情况为准。如果您修改过目标服务默认的端口,请替换为修改后的端口号。

    如果系统返回目标端口信息,并且监听状态为LISTEN,则说明目标服务已经处于运行状态,不需要启动。此时您应当检查服务配置、系统防火墙、ECS安全组等因素,或者参见ECS常见问题,检查是否存在符合您问题现状的参考文档。

  3. 执行以下命令,启动目标服务。

    systemctl start [$Service]
    说明

    说明

    • [$Service]指目标服务的名称,现场以实际情况为准。

    • 如果您要启动的是SSH服务,则服务名称为sshd

    • 如果您要启动的是第三方服务,例如“Nginx”、“Tomcat”、“MySQL”等,请查阅第三方服务的官方网站,获取对应的启动命令。

    如果系统无返回结果,则表示命令执行成功。如果系统返回错误,请参考错误提示进行修复。

  4. 执行以下命令,检查目标服务的状态。

    systemctl status [$Service]

    系统返回结果如下图,表示目标服务处于running状态。

    说明

    说明:此处以SSH服务为例,现场请以实际情况为准。

  5. 执行以下命令,检查目标服务的端口监听状态。

    netstat -ntlp | grep [$Port]

    系统返回结果如下图,表示目标服务的端口处于监听状态。

相关文档