首頁 >運維 >linux運維 >如何快速排查無法開啟 ECS 執行個體上執行的網站

如何快速排查無法開啟 ECS 執行個體上執行的網站

坏嘻嘻
坏嘻嘻原創
2018-09-28 15:43:502205瀏覽

這篇文章帶給大家的內容是關於如何快速排查無法打開 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 服務只有本機能訪問,可參閱Nginx、Tomcat、IIS 更改連接埠監聽位址的方法修改為全網監聽。

第一步失效時:

查看實例安全性群組是否放行 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%\inetpub\logs\LogFiles\W3SVC4。

透過 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,按確定。

以上是如何快速排查無法開啟 ECS 執行個體上執行的網站的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn