Der Inhalt dieses Artikels befasst sich mit der schnellen Fehlerbehebung bei Websites, die auf ECS-Instanzen ausgeführt werden und nicht geöffnet werden können. Ich hoffe, dass er für Sie hilfreich ist.
Schnelle Fehlerbehebung: Die auf der ECS-Instanz ausgeführte Website kann nicht geöffnet werden
Die auf der Linux-Instanz ausgeführte Website kann nicht geöffnet werden
Hier ist das Demonstrationssystem CentOS 6.8, bitte wählen Sie es entsprechend Ihrer tatsächlichen Situation aus.
1. Fehlerbehebung, dass Port 80 nicht verfügbar ist
Führen Sie den Befehl netstat -an | aus, um zu überprüfen, ob TCP-Port 80 überwacht wird. Wenn eines der folgenden Ergebnisse zurückgegeben wird, bedeutet dies, dass der Webdienst von TCP-Port 80 gestartet wurde:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN # Ganzes Netzwerk lauscht
tcp 0 0 127.0.0.1:80 0.0.0.0:* LISTEN # Lokale Überwachung
Unter anderem führt die lokale Überwachung dazu, dass das externe Netzwerk nicht auf den Webdienst zugreifen kann. Nur dieser Computer kann darauf zugreifen Bitte beziehen Sie sich auf Nginx, Tomcat und IIS, um die Portüberwachung zu ändern. Die Adressmethode wird auf netzwerkweite Überwachung geändert.
Wenn der erste Schritt fehlschlägt:
Überprüfen Sie, ob die Instanzsicherheitsgruppe Port 80 zulässt. Siehe Hinzufügen von Sicherheitsgruppenregeln.
Überprüfen Sie, ob die Instanz iptables Port 80 zulässt.
Verwenden Sie Telnet und Traceroute, um die Verbindung und Trennung von Port 80 zu verfolgen. Lesen Sie die Anweisungen zum Linktest, wenn Ping-Pakete verloren gehen oder nicht verfügbar sind.
Überprüfen Sie, ob die Bandbreite des Cloud-Servers voll ist. Bitte beachten Sie die Analyse und Lösungen für die abnormale volle Bandbreite des Cloud-Servers ECS Linux Server.
2. Beheben Sie, ob der Webdienst nicht verfügbar ist.
Verwenden Sie das Verwaltungsterminal, um sich bei der Instanz anzumelden.
Sehen Sie sich das Webdienstprotokoll an, z. B. den Pfad /usr/local/var/log/nginx/ zum Speichern des CentOS 6.8 Nginx-Dienstprotokolls.
Verwenden Sie top, um den Ausführungsstatus der Instanz zu überprüfen und festzustellen, ob abnormale Prozesse vorliegen.
Überprüfen Sie die Instanzüberwachungsinformationen auf der Konsole, um zu sehen, ob die Instanzbandbreite voll ist. Wenn ja, können Sie versuchen, die Instanzbandbreite zu aktualisieren.
Überprüfen Sie, ob der Instanz die CPU/der Speicher ausgeht. Sehen Sie sich Ideen zur Fehlerbehebung bei hoher CPU-Auslastung in Cloud-Server-ECS-Linux-Systemen an.
Überprüfen Sie, ob zu viele TCP-Verbindungen auf Instanz-Port 80 vorhanden sind.
Verwenden Sie netstat -anp |grep tcp |wc -l, um die Anzahl der TCP-Verbindungen zu zählen.
Vergleichen Sie den Maximalwert von net.ipv4.tcp_max_tw_buckets in der Konfigurationsdatei /etc/sysctl.conf, um festzustellen, ob ein Überschuss vorliegt. Wenn es größer ist:
Führen Sie vi /etc/sysctl.conf aus, um die Datei zu bearbeiten und den Parameter net.ipv4.tcp_max_tw_buckets abzufragen. Wenn sich herausstellt, dass die Verbindungsauslastung hoch ist, kann es leicht passieren, dass das Limit überschritten wird.
Erhöhen Sie den Parameter net.ipv4.tcp_max_tw_buckets, um das Limit zu erweitern.
Geben Sie den Befehl sysctl -p ein, damit die Konfiguration wirksam wird.
Eine Website, die auf einer Windows-Instanz ausgeführt wird, kann nicht geöffnet werden
Das Demonstrationssystem hier ist Windows Server 2008, bitte wählen Sie basierend auf Ihrer tatsächlichen Situation aus.
1. Fehlerbehebung, dass Port 80 nicht verfügbar ist
Führen Sie den Befehl netstat -ano | aus, um zu überprüfen, ob TCP 80 überwacht wird. Wenn eines der folgenden Ergebnisse zurückgegeben wird, bedeutet dies, dass der Webdienst von TCP-Port 80 gestartet wurde.
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 1172 # Zeigt netzwerkweite Überwachung an
TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 1172 # Zeigt lokale Überwachung an
Unter anderem führt die lokale Überwachung dazu, dass das externe Netzwerk nicht auf den Webdienst zugreifen kann. Sie können netsh http delete iplisten ipaddress= 127.0.0.1:80 ausführen Netzwerküberwachung.
Wenn der erste Schritt fehlschlägt:
Überprüfen Sie, ob die Instanzsicherheitsgruppe Port 80 zulässt. Siehe Hinzufügen von Sicherheitsgruppenregeln.
Überprüfen Sie, ob die Instanz-Firewall Port 80 zulässt. Erfahren Sie, wie die Windows-Firewall den Port-/IP-/Anwendungszugriff einschränkt und wie Sie Ausnahmen konfigurieren.
Verwenden Sie Telnet und Tracert, um die Verbindung und Trennung von Port 80 zu verfolgen. Lesen Sie die Anweisungen zum Linktest, wenn Ping-Pakete verloren gehen oder nicht verfügbar sind.
Überprüfen Sie, ob die Bandbreite des Cloud-Servers voll ist. Siehe Fehlerbehebung für Windows-Instanzbandbreite und CPU voll oder hoch.
2. Überprüfen Sie, ob der Webdienst nicht verfügbar ist.
Verwenden Sie das Verwaltungsterminal, um sich bei der Instanz anzumelden.
Sehen Sie sich das Webdienstprotokoll an. Der Speicherort des Windows Server 2008 IIS-Dienstprotokolls lautet beispielsweise: %SystemDrive%inetpublogsLogFilesW3SVC4.
Überprüfen Sie den Ausführungsstatus der Instanz über den Task-Manager, um festzustellen, ob abnormale Prozesse vorliegen.
Überprüfen Sie die Instanzüberwachungsinformationen auf der Konsole, um festzustellen, ob die Instanzbandbreite voll ist. Wenn ja, können Sie versuchen, die Instanzbandbreite zu aktualisieren.
Überprüfen Sie, ob die Instanz-CPU und der Speicher erschöpft sind. Siehe Fehlerbehebung für die Bandbreite von Windows-Instanzen und volle oder hohe CPU-Auslastung oder Fehlerbehebung für hohe CPU-Auslastung von Cloud-Server-Windows-Instanzen und Toolempfehlungen.
Überprüfen Sie, ob zu viele TCP-Verbindungen auf Instanz-Port 80 vorhanden sind.
Führen Sie den folgenden Befehl aus und zählen Sie die Anzahl der TCP-Verbindungen:
netstat -n |find /i "time_wait" /c netstat -n |find /i "close_wait" /c netstat -n |find /i "established" /c
Wenn die Anzahl der gezählten TCP-Verbindungen zu hoch ist, stellen Sie TcpTimedWaitDelay auf 30 Sekunden ein. Der Standardwert beträgt 4 Minuten (240 Sekunden). :
Öffnen Sie CMD und führen Sie den Befehl regedit aus.
Suchen Sie HKEY_LOCAL_MACHINE > CurrentControlSet >
Wenn kein TcpTimedWaitDelay-Parameter vorhanden ist:
Rechtsklick auf Parameter > Neuer DWORD-Wert (32-Bit).
Geben Sie TcpTimedWaitDelay ein und drücken Sie zur Bestätigung die Eingabetaste.
Klicken Sie mit der rechten Maustaste auf TcpTimedWaitDelay, klicken Sie auf Ändern, aktivieren Sie „Dezimal“, geben Sie 30 als numerische Daten ein und klicken Sie auf „OK“.
Das obige ist der detaillierte Inhalt vonSo beheben Sie schnell das Problem, dass eine Website, die auf einer ECS-Instanz ausgeführt wird, nicht geöffnet werden kann. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!