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

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

更新时间:2020-07-16 11:19

免责申明:本文可能由社区贡献或涉及第三方产品信息,建议您访问社区或第三方产品的官方网站获取帮助与支持。第三方产品不在阿里云售后支持范围。本文仅供参考,阿里云不做任何暗示或其他形式的承诺。

概述

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

服务名称 描述 默认监听的端口 未运行时的影响
SSH 远程连接 22 无法通过SSH远程连接
Web Web网站服务

80(HTTP)、443(HTTPS)

无法访问网站
MySQL MySQL数据库 3306 无法访问数据库

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

详细信息

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

为了清晰展现操作过程,此处以在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]
    系统返回结果如下图,表示目标服务的端口处于监听状态。

相关文档

适用于

  • 云服务器ECS