GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment dépanner lorsque votre site est en panne sur un serveur Linux

Introduction

Parfois, nous pouvons rencontrer des problèmes lorsque l'un de nos serveurs Web ou sites est en panne, nous devrions être en mesure d'identifier ce problème qui est probablement à l'origine des problèmes et de résoudre le problème.

Dans cet article, nous vous partagerons quelques étapes de dépannage qui sont quelques-unes des étapes courantes prises par un administrateur lorsqu'un site n'est pas accessible correctement, vous pouvez vous référer à ces étapes et résoudre le problème afin que vous puissiez mettre votre site en place et en cours d'exécution.

Prérequis

Pour résoudre ce problème, vous aurez besoin :

  • Accès au serveur Linux, avec un utilisateur sudo.

Étape 1 :Vérifier l'état du serveur

Avant de procéder aux étapes mentionnées, nous devons d'abord vérifier si vous pouvez accéder au serveur lui-même. Parfois, le serveur lui-même peut être tombé en panne. Vous pouvez le vérifier avec la commande ping et ssh

ping your_server_ip

Si vous pouvez envoyer un ping à votre serveur et à son UP, vous obtiendrez le résultat ci-dessous

e2e@compaqlaptop:~$ ping 8.8.8.8

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.

64 bytes from 8.8.8.8: icmp_seq=1 ttl=57 time=18.0 ms

64 bytes from 8.8.8.8: icmp_seq=2 ttl=57 time=20.1 ms

64 bytes from 8.8.8.8: icmp_seq=3 ttl=57 time=21.3 ms

^C

--- 8.8.8.8 ping statistics ---

3 packets transmitted, 3 received, 0% packet loss, time 2002ms

rtt min/avg/max/mdev = 18.042/19.837/21.342/1.362 ms

e2e@compaqlaptop:~$ 

Si votre serveur est en panne, dans ce cas, vous n'obtiendrez aucun ping. Vous pouvez vérifier la console de votre serveur pour toute erreur et redémarrer votre serveur via Myaccount

Remarque :Il se peut que vous ne puissiez parfois pas envoyer de ping au serveur même lorsque votre serveur est UP et cela peut être dû à la désactivation du ping sur votre serveur

Vous devriez également pouvoir vous connecter en SSH et vous connecter au serveur pour vérifier s'il est opérationnel. Vous pouvez accéder à votre serveur via ssh avec la commande ci-dessous

ssh [email protected]

si vous ne parvenez pas à vous connecter à votre serveur, il y a de fortes chances que votre serveur soit en panne ou en état de blocage et vérifiez la console de votre serveur pour toute erreur et redémarrez votre serveur via Myaccount

Etape 2 :Superviser votre serveur

Une charge élevée du processeur ou une consommation de mémoire peut rendre votre serveur insensible. Vous pouvez vous référer à cet article sur la façon de surveiller le serveur E2E via Zabbix

Une fois que vous avez identifié les anomalies dans l'utilisation des ressources de votre serveur, vous pouvez prendre les mesures nécessaires en conséquence pour éviter le problème.

Étape 3 :Vérifier les journaux

Avant de rechercher l'un des problèmes, nous devons d'abord vérifier les journaux de notre serveur Web et des composants associés. Si nous avons trouvé une erreur journaux ou tout journal suspect lors de l'accès logs, nous serons en mesure d'identifier les problèmes avec précision.

Les journaux seront généralement présents dans le répertoire /var/log . si vous avez un serveur Apache exécuté sur un serveur Ubuntu, par défaut les journaux seront conservés dans /var/log/apache2 . Vérifiez les fichiers dans ce répertoire pour voir quel type de messages d'erreur sont générés. Si vous utilisez une distribution qui fait référence à Apache en tant que httpd par défaut, les journaux seront conservés à

/var/log/httpd.log

Si vous utilisez Nginx comme serveur Web, les journaux sont généralement situés à l'emplacement ci-dessous

/var/log/nginx/access.log
/var/log/nginx/error.log
/var/log/nginx/nginx_error.log
/var/log/nginx/access_error.log

Vérifiez les fichiers de ce répertoire pour voir quels types de messages d'erreur sont générés. Vous pouvez également vérifier les fichiers de configuration du serveur Web si vous avez configuré un chemin manuel pour les journaux.

Pour vérifier les derniers journaux générés à partir du serveur, vous pouvez exécuter ci-dessous tail commande comme indiqué dans l'exemple ci-dessous

tail -f /var/log/nginx/access.log
tail -f /var/log/httpd.log

Vous pouvez également afficher avec moins commande pour afficher les journaux complets comme ci-dessous, assurez-vous de modifier le chemin du fichier journal selon le vôtre dans la commande ci-dessous.

less /var/log/nginx/access.log

une fois que vous avez identifié le problème dans les journaux, vous pouvez facilement détecter le problème et le résoudre en conséquence.

Étape 4 :Assurez-vous que votre serveur Web est en cours d'exécution

Vous pouvez vérifier si vos services fonctionnent correctement. Une méthode pour vérifier si les services fonctionnent est la méthode préférée de la distribution consiste à vérifier avec la commande partagée ci-dessous.

Utiliser le statut commande pour vérifier si le service est en place ou non. Si le service ne fonctionne pas, vous pouvez le démarrer avec ci-dessous démarrer commande

Si vous utilisez une distribution qui fait référence à Apache en tant qu'Apache2, les commandes pour utiliser la fonctionnalité apache2 sont comme ci-dessous

service apache2 start
service apache2 stop
service apache2 restart
service apache2 reload
service apache2 status

Si vous utilisez une distribution qui fait référence à Apache en tant que httpd, les commandes sont les suivantes :

service httpd start
service httpd stop
service httpd restart
service httpd reload
service httpd status

Les commandes pour utiliser la fonctionnalité Nginx sont comme ci-dessous

service nginx start
service nginx stop
service nginx restart
service nginx reload
service nginx status

Etape 5 :Vérification de la syntaxe du serveur Web

Si votre serveur Web ne démarre pas, cela signifie qu'il peut y avoir un problème avec votre fichier de configuration.

Apache et Nginx ont tous deux besoin d'une syntaxe de directive correcte pour que les fichiers soient lus. Les fichiers de configuration se trouvent ci-dessous

Les répertoires de configuration par défaut pour Apache sont

Distributions Debian et Ubuntu :/etc/apache2/
Distribution Fedora, CentOS :/etc/httpd/

Les répertoires de configuration pour Nginx sont

/etc/nginx/

Chacun de ces serveurs Web vous offre également la possibilité de vérifier la syntaxe de configuration de vos fichiers. Pour vérifier la syntaxe de vos fichiers de configuration Apache sans avoir à redémarrer le serveur, vous pouvez exécuter la commande suivante sur les systèmes Debian et Ubuntu

apache2ctl -t
httpd -t

Pour vérifier la syntaxe de configuration sur Nginx, utilisez la commande ci-dessous

nginx -t

Une fois que vous avez exécuté la commande ci-dessus, vous recevrez un message comme Syntaxe OK ou Le test est réussi ,Cela signifie qu'il n'y a pas d'erreur dans la configuration de votre serveur Web. Si vous obtenez un message du type "échec du test", il existe un argument non valide fourni dans le fichier de configuration et qui doit être modifié.

Étape 6 :Votre backend de base de données fonctionne-t-il correctement ?

Si vous avez configuré votre site pour qu'il se connecte à une base de données comme MySQL, PostreSQL, MongoDB, etc., vous devez vous assurer qu'il est opérationnel. Vous pouvez le faire en vérifiant le serveur Web.

Exécutez la commande ci-dessous pour vérifier si votre base de données MySQL/Mongod est celle que vous utilisez.

service mysql status
service mysqld status
service mongod status

Alternativement, vous pouvez également vérifier avec la commande netstat ci-dessous

netstat -ntlp | grep mysql

Vous recevrez une sortie comme ci-dessous, si votre MySQL est opérationnel.

tcp 0 0 127.0.0.1:3306 0.0.0.0:* ECOUTEZ 3356/mysqld

Étape 7 :Vérifiez si votre serveur Web/App est capable de se connecter vers le backend de la base de données

Même si votre serveur Web et votre serveur de base de données fonctionnent correctement, nous pouvons parfois rencontrer des problèmes de connectivité, car votre application ne pourra pas se connecter correctement à la base de données.

Par exemple, dans un site WordPress, les paramètres de connexion à la base de données peuvent être testés avec la configuration située dans le fichier wp-config.php. Vous devez vérifier que DB_NAME, DB_USER et DB_PASSWORD sont corrects pour que votre site se connecte à la base de données.

Vous pouvez tester si le fichier contient les informations correctes en essayant de vous connecter manuellement à la base de données en modifiant la valeur appropriée dans la commande ci-dessous

mysql -hDB_Host -uDB_USER -pDB_PASSWORD 

Étape 8 :Assurez-vous que les ports sont ouverts

Même si toute la configuration et la connectivité sont correctes, parfois, vous ne pouvez pas accéder au site car les ports configurés doivent être accessibles. Les serveurs Web fonctionnent sur le port 80 pour le trafic Web normal et utilisent le port 443 pour le trafic crypté avec SSL.

Vous pouvez vérifier si les ports configurés sont ouverts avec la commande telnet

telnet your_server_ip 80
telnet your_server_ip 443

Vous obtiendrez une sortie comme ci-dessous si vos ports sont ouverts

e2e@compaqlaptop :~$ telnet xx.xx.xx.xx 80
Essayer xx.xx.xx.xx…
Connecté à xx.xx.xx.xx.
Le caractère d'échappement est '^]'.

Vous pouvez également vérifier si votre serveur App/Web est capable de se connecter au port de votre base de données sur le back-end. Le serveur MySQL s'exécute par défaut sur le port 3306

telnet your_database_server_ip 3306

Si vos ports Web ou vos ports de base de données ne sont pas accessibles, vous devez vérifier la configuration de votre pare-feu. Vous devrez peut-être ouvrir le port 80, le port 443 ou le port 3306 respectivement.

Étape 9 :Vérification des paramètres DNS

Vous devez également vous assurer que votre domaine pointe correctement vers l'IP du serveur. Si vous pouvez accéder au site avec l'IP et non avec votre nom de domaine, vous devrez peut-être jeter un œil à vos paramètres DNS.

Vous pouvez vérifier si votre site pointe vers la bonne adresse IP avec dig ci-dessous commande

dig A example.com +short

Vous obtiendrez la sortie comme ci-dessous

e2e@compaqlaptop :~$ creuser un exemple.com +court
xx.xx.xx.xx
e2e@compaqlaptop :~$

En dehors de cela, vérifiez vos fichiers d'hôte virtuel Apache ou les fichiers de blocage du serveur Nginx pour vous assurer qu'ils sont configurés pour répondre aux demandes de votre domaine.

Conclusion

Nous espérons que les conseils de dépannage mentionnés ci-dessus vous auront aidé à identifier et à résoudre certains des problèmes courants auxquels les administrateurs sont confrontés lorsqu'ils tentent de mettre leurs sites en service. Si vous rencontrez un problème avec les étapes mentionnées ci-dessus, n'hésitez pas à en discuter les dans les commentaires.


Ubuntu
  1. Comment dépanner lorsque votre site est en panne sur un serveur Linux

  2. Comment dépanner lorsque votre site est en panne sur un serveur Linux

  3. Comment surveiller votre serveur Linux ?

  4. Comment mesurer les performances de votre serveur VPS Linux

  5. Comment installer un environnement de bureau sur votre serveur Linux sans tête

Comment vérifier la charge de votre serveur dans le système Linux

Comment vérifier la disponibilité de votre serveur Linux

Comment se connecter en SSH à votre serveur Linux à partir de Windows

Comment configurer un démon Rsync sur votre serveur Linux

Comment :utiliser lsof - 10 commandes essentielles pour dépanner votre serveur Linux

Comment configurer un pare-feu sur votre serveur Linux