概述
當您無法訪問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]
系統返回結果如下圖,表示目標服務的端口處于監聽狀態。