如何快速排查無法打開 ECS 實例上運行的網站

本篇文章給大家帶來的內容是關于如何快速排查無法打開 ecs 實例上運行的網站,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

快速排查無法打開 ECS 實例上運行的網站

無法打開 linux 實例上運行的網站

此處示范系統為 centos 6.8,請根據您的實際情況選擇。

一、排查 80 端口不可用

運行命令 netstat -an | grep 80,查看 TCP 80 端口是否被監聽。如果返回以下任意一種結果,說明已啟動 TCP 80 端口的 Web 服務:

tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN # 全網監聽

tcp 0 0 127.0.0.1:80 0.0.0.0:* LISTEN # 本機監聽

其中,本機監聽會導致外網無法訪問 Web 服務只有本機能訪問,可參閱nginxtomcatiis 更改端口監聽地址的方法修改為全網監聽。

第一步失效時:

查看實例安全組是否放行 80 端口。參閱添加安全組規則。

查看實例 iptables 是否放行 80 端口。

使用 telnet 和 traceroute 跟蹤 80 端口的通斷情況。參閱 ping 丟包或不通時鏈路測試說明。

查看云服務器帶寬是否跑滿。參閱云服務器 ECS Linux 服務器帶寬異常跑滿分析解決。

二、排查 Web 服務不可用

使用管理終端登錄實例。

查看 Web 服務日志,如路徑 /usr/local/var/log/nginx/ 存放 CentOS 6.8 Nginx 服務日志。

使用 top 查看實例運行狀態,查看是否有異樣進程。

在控制臺查看實例監控信息,查看實例帶寬是否跑滿,若跑滿,可嘗試升級實例帶寬。

查看實例 CPU/內存是否耗盡。參閱云服務器 ECS Linux 系統 CPU 占用率較高問題排查思路。

查看實例 80 端口是否有過多的 TCP 鏈接。

通過 netstat -anp |grep tcp |wc -l 統計 TCP 連接數。

對比 /etc/sysctl.conf 配置文件的 net.ipv4.tcp_max_tw_buckets 最大值,看是否有超出情況。若超出:

執行 vi /etc/sysctl.conf 編輯文件,查詢 net.ipv4.tcp_max_tw_buckets 參數。如果確認連接使用很高,容易超出限制。

調高參數 net.ipv4.tcp_max_tw_buckets,擴大限制。

輸入指令 sysctl -p 使配置生效。

無法打開 windows 實例上運行的網站

此處示范系統為 Windows Server 2008,請根據您的實際情況選擇。

一、排查 80 端口不可用

執行命令 netstat -ano | findstr :80,查看 TCP 80 是否被監聽。如果返回以下任意一種結果,說明已啟動 TCP 80 端口的 Web 服務。

TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 1172 # 表示全網監聽

TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 1172 # 表示本地監聽

其中,本機監聽會導致外網無法訪問 Web 服務只有本機能訪問,可執行 netsh http delete iplisten ipaddress= 127.0.0.1:80 修改為全網監聽。

第一步失效時:

查看實例安全組是否放行 80 端口。參閱添加安全組規則。

查看實例防火墻是否放行 80 端口。參閱 Windows 防火墻限制端口/IP/應用訪問的方法以及例外的配置。

使用 telnet 和 tracert 跟蹤 80 端口的通斷情況。參閱 ping 丟包或不通時鏈路測試說明。

查看云服務器帶寬是否跑滿。參閱 Windows 實例帶寬和 CPU 跑滿或跑高排查。

二、排查 Web 服務不可用

使用管理終端登錄實例。

查看 Web 服務日志,如 Windows Server 2008 IIS 服務日志位置為: %SystemDrive%inetpublogsLogFilesW3SVC4。

通過 Task Manager 查看實例運行狀態,查看是否有異樣進程。

在控制臺查看實例監控信息,查看實例帶寬是否跑滿,若跑滿,可嘗試升級實例帶寬。

查看實例 CPU,內存的是否耗盡。參閱 Windows 實例帶寬和 CPU 跑滿或跑高排查或云服務器 Windows 實例 CPU 高占用率的處理及工具推薦。

查看實例 80 端口是否有過多的 TCP 鏈接。

執行以下命令并統計 TCP 連接數:

?netstat?-n?|find?/i?"time_wait"?/c ?netstat?-n?|find?/i?"close_wait"?/c ?netstat?-n?|find?/i?"established"?/c

統計 TCP 連接數過高時,調整 TcpTimedWaitDelay 為 30s,其默認值是 4 分鐘(240s):

打開 CMD,執行命令 regedit。

找到 HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services > TCPIP > Parameters。

如果無 TcpTimedWaitDelay 項參數:

右擊 Parameter > 新建 DWORD (32-位)值。

輸入 TcpTimedWaitDelay,回車確認。

右擊 TcpTimedWaitDelay,單擊 修改 ,勾選 十進制,數值數據輸入30,單擊 確定。

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享