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
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
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
Mit AWS können Sie viele Informationen über die Konsole überprüfen
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
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
Es ist einfach zu handhaben, da der Code je nach Ursache fein aufgeteilt ist Ich sehe oft folgendes
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
Es gibt verschiedene Ursachen, deshalb werde ich es in einen separaten Rahmen setzen. Was ist möglich
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
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.
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
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
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.
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
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
Ich bin ungeduldig zu Tode, aber ... ・ Beruhige dich ・ Isolierung der Ursache ・ Konsultieren Sie eine großartige Person Es ist sehr gut.