[LINUX] Was tun, wenn "Ich kann die Site nicht sehen !!!!"

Allein der Blick auf den Titel lässt mein Herz quietschen ... Ich habe ein Memo aus meiner bisherigen Erfahrung geschrieben Etwa die Hälfte für mich

Indikatoren, mit denen die Ursache untersucht werden kann

HTTP-Statuscode

https://developer.mozilla.org/ja/docs/Web/HTTP/Status Von diesen sind diejenigen, die einen Fehler verursachen, die 400er Serie und die 500er Serie. Die groben Unterschiede sind wie folgt

Serie --400: Der Zugriff selbst ist nicht möglich

Die Korrespondenz ändert sich je nach welcher, also zuerst hier trennen

Logdatei

Wenn Sie den Ausgabepfad auf einem Linux-System nicht manipuliert haben, finden Sie wahrscheinlich ein grobes Protokoll in / var / log /.

apache: /var/log/httpd/
nginx : /var/log/nginx/
PHP für Nginx + PHP-Überprüfen Sie fpm: /var/log/php-fpm/

Wenn Sie sehen möchten, was funktioniert, klicken Sie auf "ps aux" Da eine große Menge an Informationen herauskommt, verwenden Sie bei einem Treffer auch "grep" zusammen

AWS-Überwachung

Mit AWS können Sie viele Informationen über die Konsole überprüfen

Korrespondenz

1, beruhige dich

Es ist ziemlich wichtig. Das menschliche Temperament tut nichts Gutes ... Beruhigen wir uns, indem wir die aktuelle Situation organisieren oder uns mit einer großartigen Person beraten

2, überprüfen Sie den Statuscode

Wie oben erwähnt, gibt es viele Gründe, warum Sie nicht darauf zugreifen können, daher werde ich es von nun an isolieren. Die meisten Browser sollten einen Statuscode auf dem Bildschirm haben

Serien 3-1 und 400

Es ist einfach zu handhaben, da der Code je nach Ursache fein aufgeteilt ist Ich sehe oft folgendes

3-2, 500er Serie

Ich sehe oft folgendes Es beginnt mit der Überprüfung des Fehlerprotokolls vorerst Der Inhalt der Korrespondenz variiert je nach Protokoll, daher werde ich ihn weglassen

Von hier an ein Beispiel

Korrespondenz von 404 nicht gefunden

Es gibt verschiedene Ursachen, deshalb werde ich es in einen separaten Rahmen setzen. Was ist möglich

  1. Der Server ist ausgefallen
  2. Namensauflösung ist nicht möglich Da es in der Nähe ist, werde ich diesen Bereich überprüfen.

Versuchen Sie zu pingen

ping {IP/Hostname}

Ich werde die Kommunikation mit testen (Dies ist localhost als Dummy)

$ ping localhost
PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=6.893 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.115 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.076 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.117 ms
^C
--- localhost ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.076/1.800/6.893/2.940 ms

Wenn ich lebe, werde ich vorerst zurückkommen. Wenn Sie die Portnummer angeben möchten, können Sie dies nicht mit einem einfachen Ping tun. Verwenden Sie daher eine andere Methode. Ich benutze nping. Praktisch https://qiita.com/Yu-s/items/4b4f683fda374c8ddcc9

Versuchen Sie sich anzumelden

Meistens sollten Sie sich mit ssh oder so etwas anmelden können Wenn Sie sich nicht mit dem Befehl anmelden können, den Sie zuvor hätten ausführen können, ist es wahrscheinlich, dass Sie nicht erreichbar sind.

Überprüfen Sie dies über die Konsole in AWS

EC2-Dashboard> Instanzen> Instanzstatus Sie können von überprüfen. Wenn es zum Stillstand kommt, ist es gefallen. (Wenn Sie aws-cli oder autoscale nicht verwenden, ist es möglich, dass jemand es absichtlich gestoppt hat ... es sollte nicht automatisch gestoppt werden ...) Sie können auch überprüfen, ob die Statusprüfung fehlgeschlagen ist. Selbst wenn dies fehlschlägt, schlägt sie fehl.

Beachten Sie jedoch, dass es möglicherweise ausgeführt wird, auch wenn die Instanz wiederholt automatisch neu gestartet wird (= sie ist tatsächlich inaktiv).

Wenn Sie bestätigen können, dass der Server bisher aktiv ist, Sie jedoch in der Domäne nicht darauf zugreifen können, können Sie den Namen wahrscheinlich nicht auflösen

Versuchen Sie zu graben

Dies ist eine schnelle Überprüfung https://www.atmarkit.co.jp/ait/articles/1711/09/news020.html

Sie können dies auch mit nslookup tun https://www.atmarkit.co.jp/ait/articles/1710/27/news021.html

$ dig www.google.com

; <<>> DiG 9.10.6 <<>> www.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 3344
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.google.com.			IN	A

;; ANSWER SECTION:
www.google.com.		89	IN	A	172.217.24.132

;; Query time: 13 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Fri Sep 11 13:51:58 JST 2020
;; MSG SIZE  rcvd: 59

Der Name kann nicht ohne ;; ANTWORT ABSCHNITT: aufgelöst werden

Unterstützung für 500 Internal Server Error

Möglicherweise ist ein Fehler aufgetreten

--Server-Software

Da es zwei Möglichkeiten gibt, werde ich mir vorerst die beiden Arten von Protokollen ansehen. Abhängig vom Inhalt des Fehlers gibt es verschiedene Möglichkeiten, damit umzugehen. Die folgenden Fehler sind jedoch aufgetreten.

Vergessen Sie die Protokollrotation

Folgendes wurde im Fehlerprotokoll von nginx angezeigt

write() to "/var/log/nginx/access.log" was incomplete: 83 of 314 while logging request

"Ich konnte das Zugriffsprotokoll nicht schreiben." Als ich es mir ansah, war nur das Zugriffsprotokoll des Tages durcheinander, sodass ich vermutete, dass der Speicher erschöpft war. Wenn Sie die entsprechende Datei löschen, sollte sie vorerst behoben sein, aber selbst wenn Sie das Zugriffsprotokoll löschen, wird sie nicht behoben ... (Vielleicht gab es andere schwere Dateien) Ich habe die Zeit verpasst, um danach zu suchen, und habe es automatisch skaliert. Deshalb habe ich einen neuen Server gestartet und ihn ersetzt, um ihn vorerst zu verarbeiten.

Als ich in der Zwischenzeit die Grundursache untersuchte, bemerkte ich, dass sie nicht logarithmisch gedreht war ... Ich habe nginx vor ein paar Tagen aktualisiert, aber zu diesem Zeitpunkt habe ich anscheinend vergessen, die Einstellungsdatei um log rotate wiederherzustellen. Wenn Speicher und Speicher erschöpft sind, können Sie nicht darauf zugreifen. Notieren Sie sich daher möglicherweise den Befehl, um ihn zu überprüfen.

$ df -h //Lagerprüfung
$ free -m //Speicherprüfung

Vergessen, die Einstellungsänderung in der Starteinstellung @ Autoscale wiederzugeben

Eines Tages fiel die Site plötzlich aus und ich bekam einen Fehler von 500. Überprüfen Sie daher das Fehlerprotokoll Wenn ich mir das cakephp2-Protokoll ansehe, sehe ich einen Fehler in Bezug auf eine neue Funktion, die ich vor ein paar Tagen gemacht habe! Sollte behoben worden sein ...? Ich habe das sofort bemerkt, aber ich habe vergessen, die Einstellungsänderung in den Starteinstellungen wiederzugeben ... Anscheinend Erhöhter Verkehr => Starten Sie den Autoscale-Server, der den Fehler reproduziert => Unzugänglich Es scheint, dass es der Fluss von war.

Es war eine Art Sache, die durch Löschen der Cache-Datei aufgrund eines Fehlers im Cache von cakephp2 behoben werden konnte. Löschen Sie den Cache erneut => AMI in diesem Zustand erstellen => In den Starteinstellungen angeben Ich konnte mit antworten

Zusammenfassung

Ich bin ungeduldig zu Tode, aber ... ・ Beruhige dich ・ Isolierung der Ursache ・ Konsultieren Sie eine großartige Person Es ist sehr gut.

Recommended Posts

Was tun, wenn "Ich kann die Site nicht sehen !!!!"
Was tun, wenn bei Verwendung von ts-node-dev unter Linux der Fehler "ERR_FEATURE_UNAVAILABLE_ON_PLATFORM" angezeigt wird?
Was tun, wenn beim Laden von mnist eine Fehlermeldung angezeigt wird?
Was tun, wenn bei der Installation von CentOS auf VirtualBox die Meldung "Die Sitzung konnte nicht geöffnet werden" angezeigt wird
Was tun, wenn Sie mysqlclient nicht per Pip installieren können?
Was tun, wenn bei Verwendung von Python mit der NetBeans-IDE die Warnung "Falsche Python-Plattform" angezeigt wird?
Was tun, wenn bei der Installation von Python 2 mit pyenv ein OpenSSL-Fehler auftritt?
Was tun, wenn beim Konvertieren von PySparkDataFrame in PandasDataFrame ein Speicherfehler auftritt?
Was tun, wenn beim Importieren von matplotlib in Python (Mac) eine Fehlermeldung angezeigt wird?
Was tun, wenn beim Importieren von matplotlib mit Jupyter ein Importfehler auftritt?
[AWS] Was tun, wenn Sie mit Lambda pfeifen möchten?
Was tun, wenn Overalls "Abdeckung unbekannt" werden?
Was tun, wenn Sie keine Dateien mit Indizes sortieren können?
Was tun, wenn Sie sich nicht als root anmelden können?
Was tun, wenn Sie unter Linux kein WLAN verwenden können?
ImportError: Kein Modul Was tun, wenn Sie dazu aufgefordert werden?
Was tun, wenn Ubuntu abstürzt?
Was tun, wenn bei der Installation von openCV 3 der Fehler "Fehler: opencv3: Unterstützt nicht das Erstellen von Python 2- und 3-Wrappern" angezeigt wird
Was tun, wenn unter Linux die Fehlermeldung "Namensauflösung vorübergehend fehlgeschlagen" ausgegeben wird?
Was tun, wenn beim Ausführen von "certbot erneuern" in der CakePHP-Umgebung eine Fehlermeldung angezeigt wird?
Was tun, wenn beim Versuch, pip mit pyenv zu verwenden, ein undefinierter Fehler angezeigt wird?
Was tun, wenn Sie pyaudio nicht mit pip #Python installieren können?
Was tun, wenn in Python minus Null angezeigt wird?
Was tun, wenn die Einstellungen der jupyterlab-Erweiterung nicht angezeigt werden?
Was tun, wenn bei der Pip-Installation ein Unicode-Dekodierungsfehler auftritt?
Was tun, wenn Sie mit Maven kein Projekt erstellen können?
Was tun, wenn der Werttyp in Python nicht eindeutig ist?
Worauf ich mich beim Studium von tkinter bezog
Ich kann das Element in Selen nicht bekommen!
Was tun, wenn beim Versuch, model.save mit Keras zu modellieren, der Fehler "get_config" überschrieben werden muss?
Was tun, wenn Sie wütend werden, wenn Sie bei der Installation von lxml unter CentOS nicht über libxml / xmlversion.h verfügen?
Lassen Sie uns zusammenfassen, was Sie tun möchten.
Was tun, wenn Sie "locale.Error: nicht unterstützte Gebietsschemaeinstellung" erhalten, wenn Sie den Tag vom Datum in Python abrufen?
FBX SDK Welche Fähigkeiten benötige ich, um ein Programm mit Python zu erstellen?
Was tun, wenn die Option -f von grep nicht funktioniert?
Was tun, wenn das über Scrapy heruntergeladene Ergebnis auf Englisch ist?
Was tun, wenn PDO nicht in Laravel oder CakePHP gefunden wird?
Was tun, wenn Sie die Rastersuche von sklearn in Python nicht verwenden können?
[Docker] Was tun, wenn ein Fehler aufgetreten ist? Der Binär-Git wurde nicht gefunden
Was tun, wenn Sie sich über TensorFlow v2 ohne Attribut 'app' ärgern?
Was tun, wenn Sie während der Anaconda-Installation unter Linux nicht weiterkommen?
Was tun, wenn TypeError in min und max von numpy auftritt?
Was tun, wenn Sie URL 443 mit pip nicht abrufen konnten?
Was tun, wenn in der Anaconda-Umgebung die Warnung "Die Umgebung ist konsistent ..." angezeigt wird
[Django] Was tun, wenn beim Registrieren von Daten von der Verwaltungssite in die Datenbank ein Integritätsfehler auftritt?
Was tun, wenn beim Versuch, auf den Git-Hub zuzugreifen, der Fehler "Berechtigung verweigert" (öffentlicher Schlüssel) angezeigt wird?
Was tun, wenn der Fehler angezeigt wird? Das Ziel-WSGI-Skript '/ var / www / xxx / xxx.wsgi' kann nicht als Python-Modul geladen werden
Was tun, wenn Sie wütend werden, wenn Sie nicht libxml / xmlversion.h haben, wenn Sie lxml in pip einfügen?
Was tun, wenn bei der Installation von wxPython unter Mac OS X die Meldung "~ .pkg" beschädigt wird und nicht geöffnet werden kann?
[Python] Was ich getan habe, um Unit Test zu machen
Wenn Sie den Chrome-Treiber aktualisieren möchten.
Was tun, wenn ein PermissionError in tempfile.mkstemp auftritt?
Was ich beim Update von Python 2.6 auf 2.7 gemacht habe
Was tun, um eine Google-Tabelle in Python zu erhalten?
Beispiel, was zu tun ist, wenn das Beispielskript nicht funktioniert (OpenCV-Python)
Ich möchte den Transferstatus der 2020 J League visualisieren. Was soll ich tun?