Le simple fait de regarder le titre me fait grincer le cœur ... J'ai écrit une note de mon expérience jusqu'à présent Environ la moitié pour moi
https://developer.mozilla.org/ja/docs/Web/HTTP/Status Parmi ceux-ci, ceux qui provoquent une erreur sont la série 400 et la série 500. Les différences approximatives sont les suivantes
La correspondance change en fonction de celle, alors séparez d'abord ici
Si vous n'avez pas falsifié le chemin de sortie sous Linux, vous trouverez probablement un journal approximatif dans / var / log /.
apache: /var/log/httpd/
nginx : /var/log/nginx/
php pour nginx + php-Vérifier fpm: /var/log/php-fpm/
Si vous voulez voir ce qui fonctionne, ps aux
Puisqu'une grande quantité d'informations sortira, s'il y a un hit, utilisez également grep
ensemble
Avec AWS, vous pouvez vérifier de nombreuses informations depuis la console
C'est assez important. Le tempérament humain ne fait rien de bon ... Calmons-nous en organisant la situation actuelle ou en consultant une personne formidable
Comme mentionné ci-dessus, il existe de nombreuses raisons pour lesquelles vous ne pouvez pas accéder, je vais donc l'isoler à partir de maintenant. La plupart des navigateurs devraient avoir un code d'état à l'écran
C'est facile à gérer car le code est finement divisé en fonction de la cause Je vois souvent ce qui suit
Je vois souvent ce qui suit Il commence par vérifier le journal des erreurs pour le moment Le contenu de la correspondance varie en fonction du journal, je vais donc l'omettre
A partir de là, un exemple
Il y a plusieurs causes, je vais donc le mettre dans un cadre séparé. Ce qui est possible
ping {IP/nom d'hôte}
Je vais tester la communication avec (Ceci est localhost en tant que mannequin)
$ 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
Si je vis, je reviendrai pour le moment. Si vous souhaitez spécifier le numéro de port, vous ne pouvez pas le faire avec un simple ping, utilisez donc une autre méthode. J'utilise nping. Pratique https://qiita.com/Yu-s/items/4b4f683fda374c8ddcc9
La plupart du temps, vous devriez pouvoir vous connecter avec ssh ou quelque chose comme ça Si vous ne pouvez pas vous connecter avec la commande que vous auriez dû pouvoir faire auparavant, il est probable que vous soyez en panne.
Tableau de bord EC2> Instances> Statut de l'instance Vous pouvez vérifier à partir de. Quand il s'arrête, il est tombé. (Si vous n'utilisez pas aws-cli ou autoscale, il est possible que quelqu'un l'ait arrêté intentionnellement ... cela ne devrait pas s'arrêter automatiquement ...) Vous pouvez également vérifier si la vérification de l'état a échoué, donc même si cela échoue, elle échouera.
Cependant, notez qu'il peut être en cours d'exécution même si l'instance est redémarrée automatiquement à plusieurs reprises (= elle est en fait hors service).
Si vous pouvez confirmer que le serveur est actif jusqu'à présent, mais que vous ne pouvez pas y accéder dans le domaine, vous ne pouvez probablement pas résoudre le nom
Ceci est une vérification rapide https://www.atmarkit.co.jp/ait/articles/1711/09/news020.html
Vous pouvez également le faire avec nslookup 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
Le nom ne peut pas être résolu sans ;; ANSWER SECTION:
Il est possible qu'une erreur se soit produite
Puisqu'il y a deux choix, je vais examiner les deux types de journaux pour le moment. Il existe différentes façons de le gérer en fonction du contenu de l'erreur, mais voici les erreurs que j'ai rencontrées.
Ce qui suit est apparu dans le journal des erreurs de nginx
write() to "/var/log/nginx/access.log" was incomplete: 83 of 314 while logging request
"Je n'ai pas pu écrire le journal d'accès." Quand je suis allé le voir, seul le journal d'accès du jour était foiré, alors j'ai deviné que le stockage était épuisé. Si vous supprimez le fichier correspondant, il devrait être résolu pour le moment, mais même si vous supprimez le journal d'accès, il ne sera pas résolu ... (Peut-être qu'il y avait d'autres fichiers lourds) J'ai manqué le temps de le chercher et de le mettre à l'échelle automatiquement, alors j'ai démarré un nouveau serveur et l'ai remplacé pour le gérer pour le moment.
Donc, en attendant, quand j'ai enquêté sur la cause première, j'ai remarqué qu'il n'y avait pas de rotation log ... J'ai mis à jour nginx il y a quelques jours, mais à ce moment-là, il semble que j'ai oublié de restaurer le fichier de paramètres autour de la rotation du journal. De plus, si le stockage et la mémoire sont épuisés, vous ne pourrez pas y accéder, il peut donc être bon de noter la commande pour la vérifier.
$ df -h //Contrôle du stockage
$ free -m //Vérification de la mémoire
Un jour, le site est soudainement tombé en panne et j'ai eu une erreur 500, alors vérifiez le journal des erreurs En regardant le journal de cakephp2, je vois une erreur liée à une nouvelle fonctionnalité que j'ai faite il y a quelques jours! Aurait dû être corrigé ...? J'ai immédiatement remarqué cela, mais j'ai oublié de refléter le changement de paramètre dans les paramètres de démarrage ... Apparemment Le trafic monte => Démarrer le serveur de mise à l'échelle automatique qui reproduit l'erreur => Inaccessible Il semble que c'était le flux de.
C'était une sorte de chose qui pouvait être corrigée en supprimant le fichier cache en raison d'une erreur autour du cache de cakephp2. Effacer à nouveau le cache => Créer une AMI dans cet état => Spécifiez dans les paramètres de démarrage J'ai pu répondre avec
Je suis impatient de mourir, mais ... · Calmez-vous ・ Isolement de la cause ・ Consultez une personne formidable C'est plutôt bon.
Recommended Posts