[LINUX] Que faire lorsque vous obtenez "Je ne peux pas voir le site !!!!"

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

Indicateurs pouvant être utilisés pour rechercher la cause

Code d'état HTTP

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

fichier journal

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

Surveillance AWS

Avec AWS, vous pouvez vérifier de nombreuses informations depuis la console

Correspondance

1, calme-toi

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

2, vérifiez le code d'état

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

Séries 3-1 et 400

C'est facile à gérer car le code est finement divisé en fonction de la cause Je vois souvent ce qui suit

3-2, série 500

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

Correspondance de 404 introuvable

Il y a plusieurs causes, je vais donc le mettre dans un cadre séparé. Ce qui est possible

  1. Le serveur est en panne
  2. La résolution de nom n'est pas possible Puisqu'il est autour, je vais vérifier cette zone.

Essayez de cingler

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

Essayez de vous connecter

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.

Vérifier depuis la console sur AWS

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

Essayez de creuser

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:

Prise en charge d'une erreur de serveur interne 500

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.

Oubliez la rotation des journaux

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

Oublié de refléter le changement de paramètre dans le paramètre de démarrage @ Autoscale

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

Résumé

Je suis impatient de mourir, mais ... · Calmez-vous ・ Isolement de la cause ・ Consultez une personne formidable C'est plutôt bon.

Recommended Posts

Que faire lorsque vous obtenez "Je ne peux pas voir le site !!!!"
Que faire si vous obtenez l'erreur ʻERR_FEATURE_UNAVAILABLE_ON_PLATFORM` lors de l'utilisation de ts-node-dev sous Linux
Que faire si vous obtenez une erreur lors du chargement de mnist
Que faire si vous obtenez "La session n'a pas pu être ouverte" lors de l'installation de CentOS sur VirtualBox
Que faire si vous ne pouvez pas installer mysqlclient
Que faire si vous obtenez un avertissement "Mauvaise plateforme Python" lors de l'utilisation de Python avec l'EDI NetBeans
Que faire si vous obtenez une erreur OpenSSL lors de l'installation de Python 2 avec pyenv
Que faire si vous obtenez une erreur de mémoire lors de la conversion de PySparkDataFrame en PandasDataFrame
Que faire si vous obtenez une erreur lors de l'importation de matplotlib en Python (Mac)
Que faire si vous obtenez une erreur d'importation lors de l'importation de matplotlib avec Jupyter
[AWS] Que faire lorsque vous souhaitez piper avec Lambda
Que faire si Combinaisons devient «couverture inconnue»
Que faire si vous ne pouvez pas trier les fichiers avec des indices
Que faire si vous ne pouvez pas vous connecter en tant que root
Que faire si vous ne pouvez pas utiliser le WiFi sous Linux
ImportError: Pas de module Que faire quand on vous dit
Que faire quand Ubuntu plante
Que faire si vous obtenez l'erreur "Erreur: opencv3: Ne prend pas en charge la construction des wrappers Python 2 et 3" lors de l'installation d'openCV 3
Que faire lorsque vous obtenez une erreur indiquant «Échec temporaire de la résolution du nom» sous Linux
Que faire si vous obtenez une erreur lors de l'exécution de "certbot renouveler" dans l'environnement CakePHP
Que faire si vous obtenez une erreur non définie lorsque vous essayez d'utiliser pip avec pyenv
Que faire si vous ne pouvez pas installer pyaudio avec pip #Python
Que faire si vous obtenez moins zéro en Python
Que faire lorsque les paramètres de l'extension jupyterlab ne sont pas reflétés
Que faire si vous obtenez une erreur de décodage Unicode avec l'installation de pip
Que faire si vous ne pouvez pas construire un projet avec Maven
Que faire lorsque le type de valeur est ambigu en Python?
Ce à quoi j'ai fait référence en étudiant tkinter
Je ne peux pas obtenir l'élément dans Selenium!
Que faire si vous obtenez une erreur de remplacement obligatoire `get_config` lorsque vous essayez de model.save avec Keras
Que faire si vous vous mettez en colère si vous n'avez pas libxml / xmlversion.h lors de l'installation de lxml sur CentOS
Résumons ce que vous voulez faire.
Que faire si vous obtenez `locale.Error: unsupported locale setting` lors de l'obtention de la date du jour en Python
FBX SDK De quelles compétences ai-je besoin pour créer un programme à l'aide de Python?
Que faire si l'option -f de grep ne fonctionne pas
Que faire lorsque le résultat téléchargé via scrapy est en anglais
Que faire si PDO n'est pas trouvé dans Laravel ou CakePHP
Que faire si vous ne pouvez pas utiliser la recherche de grille de sklearn en Python
[Docker] Que faire en cas d'erreur Impossible de trouver le git binaire apparaît
Que faire si vous vous fâchez avec TensorFlow v2 sans l'attribut "app"
Que faire si vous êtes bloqué pendant l'installation d'Anaconda sur Linux
Que faire lorsque TypeError se produit au minimum et au maximum de numpy
Que faire si vous obtenez Impossible de récupérer l'URL 443 avec pip
Que faire lorsque l'avertissement "L'environnement est cohérent ..." apparaît dans l'environnement Anaconda
[Django] Que faire lorsqu'une erreur d'intégrité se produit lors de l'enregistrement des données du site de gestion dans la base de données
Que faire si vous obtenez une erreur d'autorisation refusée (clé publique) lorsque vous essayez de tirer sur le hub Git
Que faire si vous obtenez l'erreur Le script WSGI cible '/ var / www / xxx / xxx.wsgi' ne peut pas être chargé en tant que module python
Que faire lorsque vous vous fâchez que libxml / xmlversion.h n'existe pas lorsque vous mettez lxml avec pip
Que faire si vous recevez le message "" ~ .pkg "est corrompu et ne peut pas être ouvert" lors de l'installation de wxPython sur Mac OS X
[Python] Ce que j'ai fait pour faire un test unitaire
Lorsque vous souhaitez mettre à jour le pilote Chrome.
Que faire quand une PermissionError dans tempfile.mkstemp se produit
Ce que j'ai fait lors de la mise à jour de Python 2.6 vers 2.7
Que faire pour obtenir une feuille de calcul Google en Python
Exemple de ce qu'il faut faire lorsque l'exemple de script ne fonctionne pas (OpenCV-Python)
Je souhaite visualiser l'état des transferts de la J League 2020, que dois-je faire?