日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

無法訪問ECS實例中運行網站的快速排查方法

本文介紹無法訪問ECS實例中運行網站相關問題的快速排查方法。

問題描述

您在訪問ECS實例中運行的網站時,可能會遇到如下問題:

  • 提示“未備案或未接入”、“網站內容與備案信息不符”。

  • 無法登錄寶塔面板。

  • 瀏覽器提示“403”、“404”、“502”、“503”等數字類錯誤。

  • 首次搭建網站且無法訪問網站。

  • 網站持續運作時突然無法訪問。

  • 無法通過負載均衡SLB訪問ECS實例中的網站。

  • 無法訪問CDN加速后的網站。

  • 無法訪問通過Web應用防火墻(WAF)防護的網站。

  • 云虛擬主機上的網站無法訪問。

問題原因

無法訪問ECS實例中運行的網站的原因較多,此處列舉較為常見的問題原因,具體原因以現場的排查結果為準。

  • TCP 80端口不可用。

  • Web服務不可用。

  • 網站未備案。

  • 網站資源或后端服務存在異常。

  • 建站流程不標準。

  • 源站本身的問題。

說明

引發網站訪問異常的相關因素及癥狀很多,如果您需要了解更多ECS實例中網站無法訪問的原因,請參訪問ECS實例異常時的問題排查和指引。

排查方法

無法訪問ECS實例中運行網站的現象和原因較多,您可以選擇下列任意一種方法快速排查問題。

通過流程圖排查

您可以根據如圖所示的流程圖,逐步排查問題。

20230119184601

通過問題現象選擇解決方案

針對如下列舉的常見問題現象,您可以快速選擇對應的問題解決方案。

  • 提示“未備案或未接入”、“網站內容與備案信息不符”。

    無論網站是通過IP地址還是通過域名對外提供服務,未備案成功前,均不允許開通網站訪問服務。請備案您的網站IP或域名,具體操作,請參見通用網站備案。

  • 無法登錄寶塔面板。

    可能是寶塔服務未運行或未添加寶塔服務對應端口的安全組規則,具體操作,請參見ECS實例無法登錄寶塔面板控制臺

  • 瀏覽器提示“403”、“404”、“502”、“503”等數字類錯誤。

    瀏覽器提示數字類錯誤時,通常表明客戶端與服務端的網絡是正常的,但網站資源或后端服務存在異常,具體操作,請參見訪問ECS實例中運行網站常見狀態碼的報錯分析

  • 首次搭建網站且無法訪問網站。

    請確保您按照標準的建站流程進行操作。更多建站流程信息,請參見建站零基礎入門。

  • 網站持續運作時突然無法訪問。

    您需要對ECS實例狀態、Web服務或后端數據庫分別進行檢查。

    • ECS實例狀態的檢查

      您可以通過ECS自助診斷工具進行檢查,然后根據診斷結果中的提示進行操作。 具體操作,請參見診斷ECS實例的健康狀態

    • Web服務或后端數據庫的檢查

      請確保Web服務和后端數據庫處于運行狀態。如果未運行,請檢查日志并根據日志中的錯誤信息進行修復。

      說明
      • 網站服務的日志文件名一般為access.log或error.log,更多信息,請參見網站服務對應的官網網站。

      • 網站服務后端的PHP、Java、Tomcat、數據庫等服務異常時,也會導致無法訪問網站。此時,請聯系您的網站管理員獲取幫助。

  • 無法通過負載均衡SLB訪問ECS實例中的網站

    ECS實例前端有負載均衡SLB時,可能是SLB實例的監聽策略設置異常,具體操作,請參見無法通過負載均衡SLB訪問ECS實例中的網站

  • 無法訪問CDN加速后的網站。

    您需要先判斷是否為源站本身的問題,具體操作,請參見使用CDN加速后網站無法訪問的排查步驟

  • 無法訪問通過Web應用防火墻(WAF)防護的網站。

    您需要先判斷是否為源站本身的問題,再判斷是否為WAF誤攔截問題,具體操作,請參見無法訪問通過Web應用防火墻(WAF)防護的網站

  • 云虛擬主機上的網站無法訪問

    如果您使用的并非ECS實例,而是云虛擬主機,則需要對云虛擬主機進行排查。 具體操作,請參見虛擬主機上的網站無法訪問

解決方案

本文介紹常見的TCP 80端口和Web服務不可用導致該問題的解決方案,操作步驟如下:

TCP 80端口和Web服務不可用導致無法訪問Linux實例上運行的網站

說明

以下操作步驟以CentOS 7操作系統為例,具體操作請以您的實際操作系統為準。

TCP 80端口不可用

  1. 遠程連接Linux實例。

    具體操作,請參見連接方式概述

  2. 執行以下命令,查看TCP 80端口是否被監聽。

    netstat -an | grep 80

    回顯示例如下,如果返回以下任意一種結果,說明已啟動TCP 80端口的Web服務,即檢查正常。如果有異常,請參見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 # 本機監聽
    說明

    本機127.0.0.1監聽會導致外網無法訪問Web服務,只有本機能訪問,修改為全網監聽。

  3. 查看TCP 80端口是否被放行以及連通情況是否正常。

    1. 查看實例安全組是否放行TCP 80端口,如果沒有放行則需要添加安全組規則,具體操作,請參見添加安全組規則。

    2. 查看實例操作系統的防火墻是否開啟,如果開啟則建議關閉防火墻改為使用安全組,具體操作,請參見開啟或關閉Linux實例中的系統防火墻

    3. 使用telnet和traceroute命令跟蹤TCP 80端口的連通情況,具體操作,請參見能夠ping通服務器的同時端口不通的排查方法

  4. 查看云服務器帶寬是否充足。

    具體操作,請參見Linux實例系統負載的查詢及分析。

    如果不足,可嘗試升級實例帶寬。具體操作,請參見修改帶寬配置。

Web服務不可用

  1. 遠程連接Linux實例。

    具體操作,請參見連接方式概述

  2. 查看Web服務日志。

    • 執行如下命令,查看Apache的錯誤日志。

      您可以根據錯誤日志分析排查問題。

      • CentOS或Alinux:

        less /var/log/httpd/error_log
      • Ubuntu:

        less /var/log/apache2/error.log
    • 執行如下命令,查看Nginx的錯誤日志。

      您可以根據錯誤日志分析排查問題。

      less /var/log/nginx/error_log
  3. 執行top命令,查看實例運行狀態。

    您需要查看進程是否異常,回顯示例如下。

    image

    load average參數中0.01、0.020.03分別表示1分鐘前、5分鐘前和15分鐘前到現在的系統負載平均值。一般情況下,如果這個數值除以邏輯CPU的數量大于5(具體數值需要根據實際服務器CPU處理能力以及系統使用情況而定),則表示系統在超負荷運轉。此時,您可以根據進程列表中查看%CPU 較高的PID,定位異常進程即COMMAND參數值,然后根據您的系統實際情況處理該異常。

  4. 在控制臺查看實例監控信息。

    具體操作,請參見查看實例監控信息

  5. 執行如下命令,查看實例的80端口是否有過多的TCP連接。

    netstat -anp |grep 80 |grep tcp

    回顯示例如下。

    20230210180929
  6. 執行以下命令,統計TCP的所有連接數。

    netstat -anp |grep tcp |wc -l
  7. 將TCP的所有連接數與/etc/sysctl.conf配置文件中net.ipv4.tcp_max_tw_buckets參數的最大值進行對比,如果TCP的所有連接數超出該最大值,則執行如下操作:

    1. 執行vi /etc/sysctl.conf命令,編輯/etc/sysctl.conf配置文件,查詢net.ipv4.tcp_max_tw_buckets參數。linux連接數超出最大值1

      如果確認TCP的連接數使用很高,容易超出限制,則根據實際情況,增加net.ipv4.tcp_max_tw_buckets參數值的大小。

    2. 執行sysctl -p命令,使配置生效。

TCP 80端口和Web服務不可用導致無法訪問Windows實例上運行的網站

說明

以下操作步驟以Windows Server 2012 R2操作系統為例,具體操作請以您的實際操作系統為準。

TCP 80端口不可用

  1. 遠程連接Windows實例。

    具體操作,請參見連接方式概述。

  2. 打開CMD命令提示符。

    1. 單擊桌面左下角開始圖標圖標,然后單擊搜索圖標圖標。

    2. 在搜索框輸入cmd。單擊命令提示符

    3. 單擊命令提示符

      進入命令提示符。進入命令提示符

  3. 執行以下命令,查看TCP 80端口是否被監聽。

    netstat -ano | findstr :80

    回顯示例如下,如果返回以下任意一種結果,說明已啟動TCP 80端口的Web服務,即檢查正常。如果有異常,請參見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 # 表示本地監聽
    說明

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

  4. 查看TCP 80端口是否被放行以及連通情況是否正常。

    1. 查看實例安全組是否放行80端口,如果沒有放行則需要添加安全組規則,具體操作,請參見添加安全組規則。

    2. 查看實例操作系統的防火墻是否開啟,如果開啟則建議關閉防火墻改為使用安全組,具體操作,請參見Windows Server系統的ECS實例防火墻策略的配置方法

    3. 使用telnet和tracert命令跟蹤80端口的連通情況,具體操作,請參見能夠ping通服務器的同時端口不通的排查方法。

  5. 查看云服務器帶寬是否充足。

    具體操作,請參見Windows實例帶寬和CPU跑滿或跑高排查。

    如果不足,可嘗試升級實例帶寬。具體操作,請參見修改帶寬配置。

Web服務不可用

  1. 遠程連接Windows實例。

    具體操作,請參見連接方式概述。

  2. 查看Web服務日志。

    • 方法一:瀏覽日志文件夾。

      Windows Server 2008 R2及以上版本操作系統的日志路徑為:C:\inetpub\logs\LogFiles

    • 方法二:查看IIS管理器。

      1. 選擇開始圖標 > Windows管理工具 > Internet Information Services((IIS)管理器。

      2. 在待查看的Web服務主頁IIS區域,單擊日志,然后在操作列單擊瀏覽。查看web日志(Windows)新圖

      3. 日志頁面,按照您的實際情況修改日志存放路徑并復制對應地址粘貼到文件資源管理器,然后按Enter鍵。

        您可以在文件資源管理器中查看對應日志文件夾。查看日志路徑新

  3. 通過任務管理器查看實例運行狀態,查看是否有異樣進程。

    1. 在桌面單擊鼠標右鍵,然后選擇任務管理器。

    2. 單擊進程頁簽。

      您可以在任務管理器中查看進程的CPU、內存信息,定位異常進程。在任務管理器中查看異常進程新

  4. 在控制臺查看實例監控信息。

    具體操作,請參見查看實例監控信息

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

    1. 打開CMD命令提示符。

      1. 單擊桌面左下角開始圖標圖標,然后單擊搜索圖標圖標。

      2. 在搜索框輸入cmd。單擊命令提示符

      3. 單擊命令提示符

        進入命令提示符。進入命令提示符

  6. 依次執行以下命令,統計TCP連接數。

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

    默認動態端口的數量為16384個(從49152起始,到65535結束),如果close_wait數量接近動態端口的數量,則表示存在大量的close_wait連接未釋放,您需要執行下一步,修改注冊表來降低Time Wait時間。統計TCP連接數

  7. 打開注冊表編輯器。

    1. 單擊桌面左下角開始圖標圖標,然后單擊搜索圖標圖標。

    2. 在搜索框輸入regedit。打開注冊表編輯器

    3. 單擊regedit。

      進入注冊表編輯器。2012注冊表編輯器

  8. 在注冊表編輯器的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services>Tcpip>Parameters路徑下,將注冊表項TcpTimedWaitDelay的數值數據設置為十進制數值30

    如果TcpTimedWaitDelay項不存在,請新建對應注冊表項,然后再修改數值數據。以TcpTimedWaitDelay不存在為例,操作如下:

    1. 在注冊表編輯器的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services>Tcpip>Parameters路徑下,右鍵單擊注冊表項空白區域,然后選擇新建(N) > DWORD (32 位)值。新建注冊表項

    2. 輸入TcpTimedWaitDelay,按Enter鍵。

    3. 右鍵單擊注冊表項TcpTimedWaitDelay,然后單擊修改。單擊修改注冊表項

    4. 在對話框中,勾選十進制,然后將數值數據設置為30。需改數值數據為30

    5. 單擊確定。