概述
当您无法访问Linux实例中的服务时,可能的问题原因之一是该服务对应的进程未处于运行中。以下列举几个Linux实例中常见的服务以及这些服务未运行时产生的影响。
服务名称 | 描述 | 默认监听的端口 | 未运行时的影响 |
SSH | 远程连接 | 22 | 无法通过SSH远程连接 |
Web | Web网站服务 |
80(HTTP)、443(HTTPS)
| 无法访问网站 |
MySQL | MySQL数据库 | 3306 | 无法访问数据库 |
本文主要介绍Linux实例启动常见服务的方法并确认这些服务的端口处于监听状态。
详细信息
为了清晰展现操作过程,此处以在CentOS 7系统为例。其他Linux发行版系统,请查阅对应的官方文档。操作步骤如下:
远程登录Linux实例。关于如何远程登录,请参见ECS连接方式概述。
说明说明:如果您无法通过SSH的方式登录Linux实例,请参见 无法通过SSH远程登录Linux实例时的排查指引。
在Linux实例中执行以下命令,检查目标服务的端口监听状态。确认系统无返回结果,即目标服务的端口未处于监听状态。
netstat -ntlp | grep [$Port]
说明说明:[$Port]指目标服务监听的端口,现场以实际情况为准。如果您修改过目标服务默认的端口,请替换为修改后的端口号。
如果系统返回目标端口信息,并且监听状态为LISTEN,则说明目标服务已经处于运行状态,不需要启动。此时您应当检查服务配置、系统防火墙、ECS安全组等因素,或者参见ECS常见问题,检查是否存在符合您问题现状的参考文档。
执行以下命令,启动目标服务。
systemctl start [$Service]
说明说明:
[$Service]指目标服务的名称,现场以实际情况为准。
如果您要启动的是SSH服务,则服务名称为
sshd
。如果您要启动的是第三方服务,例如“Nginx”、“Tomcat”、“MySQL”等,请查阅第三方服务的官方网站,获取对应的启动命令。
如果系统无返回结果,则表示命令执行成功。如果系统返回错误,请参考错误提示进行修复。
执行以下命令,检查目标服务的状态。
systemctl status [$Service]
系统返回结果如下图,表示目标服务处于running状态。
说明说明:此处以SSH服务为例,现场请以实际情况为准。
执行以下命令,检查目标服务的端口监听状态。
netstat -ntlp | grep [$Port]
系统返回结果如下图,表示目标服务的端口处于监听状态。