GNU/Linux >> Tutoriels Linux >  >> Linux

Solution de contournement "Reprendre tous les écouteurs" du serveur Web LiteSpeed

J'utilise le serveur Web LiteSpeed. Il fonctionne très bien lorsqu'il est utilisé avec le plugin WordPress LiteSpeed ​​Cache. Cependant, je vois parfois que le error.log est rempli avec les messages d'avis "Resume All Listeners".


2019-10-22 14:11:09.999551 [NOTICE] [3490] Resume All Listeners
2019-10-22 14:11:10.493639 [NOTICE] [3490] Resume All Listeners

Voici quelques statistiques des journaux d'erreurs.


# grep -c "Resume All Listeners" error.log.2019_10_22
21086
# grep -c "Resume All Listeners" error.log.2019_10_21
483
# grep -c "Resume All Listeners" error.log.2019_10_22.01 
157314

Lors d'une recherche rapide sur Google, j'ai atterri sur la page Wiki de LiteSpeed. L'essentiel de la page est le suivant :

  • Cet avis commence à apparaître lorsque la limite "Max Connections" est atteinte.
  • Lorsque cela commence à se produire, le serveur ne traitera pas quelques requêtes par intermittence. Ainsi, vous ne serez pas du tout au courant de ce problème à moins que vous n'ayez mis en place des scripts de surveillance.
  • Il n'y a aucun moyen de résoudre ce problème, il continuera de croître et progressivement tous vos sites tomberont en panne.
  • Le seul moyen de résoudre ce problème est de redémarrer le serveur.

J'ai conservé les paramètres suivants pour mon serveur Web LiteSpeed.

Réglage des paramètres de connexion du serveur Web LiteSpeed

Ce sont des chiffres très élevés et le trafic de mon site Web n'est pas suffisant pour franchir cette limite. Pourtant, parfois, je vois que mon fichier error.log est rempli de messages d'avertissement "Resume All Listeners".

Indicateurs d'erreur de reprise de tous les auditeurs

  1. Trafic réduit :J'ai utilisé Google Analytics pour suivre le trafic de mon site Web. J'ai vu une baisse d'environ 20 % chaque fois que cette erreur commence à apparaître.
  2. Services de surveillance de site Web :J'utilise Uptime Robot pour surveiller les temps d'arrêt de mes sites Web. Si vous recevez des messages intermittents de temps d'arrêt pour vos sites Web, mais lorsque vous vérifiez et que tout va bien, cela peut être dû à cela.
  3. Le site Web ne se charge pas parfois  :Si tout va bien et que soudainement votre site Web ne se charge pas et que le problème a disparu lorsque vous actualisez ou après quelques minutes, cela peut être dû à cette erreur.
  4. Tendre la main aux lecteurs :JournalDev est un site Web populaire et je reçois souvent des messages d'utilisateurs indiquant que mon site Web ne se charge pas. C'est toujours une bonne idée de vérifier rapidement le journal des erreurs du serveur pour voir si cela se produit de manière aléatoire pour certains utilisateurs en raison d'une erreur des auditeurs.

Correction de l'erreur de reprise de tous les écouteurs

Nous savons que la seule solution consiste à redémarrer le serveur. Nous ne pouvons pas vérifier manuellement les serveurs tout le temps. C'est pourquoi j'ai écrit un simple script shell pour vérifier la présence de "Resume All Listeners" dans le fichier error.log et s'il dépasse une certaine valeur seuil, il suffit de redémarrer le serveur.

Puisqu'un nouveau fichier error.log est créé à chaque redémarrage du serveur, nous n'avons pas à nous soucier des messages d'erreur précédents.

Voici le script shell qui fonctionne pour moi.

lsws_restarts_script.sh


#!/bin/bash

result=`/usr/bin/grep -c "Resume All Listeners" /usr/local/lsws/logs/error.log`
date_time=`date`

echo $date_time $result >> /root/scripts/lsws_restarts_script_logs.log 

if [ $result -gt 100 ]
then
	echo $date_time "Restarting LSWS Server" >> /root/scripts/lsws_restarts_script_restart_logs.log
	restart_msg=`/usr/local/lsws/bin/lswsctrl restart`
	sleep 5
	echo $date_time $restart_msg >> /root/scripts/lsws_restarts_script_restart_logs.log
else
	echo "All Seems Good" >> /root/scripts/lsws_restarts_script_logs.log
fi

Je l'ai configuré pour qu'il s'exécute toutes les 2 minutes à l'aide de la commande crontab.


*/2 * * * * /root/scripts/lsws_restarts_script.sh > /dev/null

Remarque :Le script fonctionne bien sur mon serveur Ubuntu. Si vous utilisez un autre système d'exploitation, vous devrez peut-être apporter de légères modifications pour le faire fonctionner.

Conclusion

Maintenant, je ne crains pas que le LiteSpeed ​​ne réponde pas à cause de l'épuisement de la connexion. Le script prendra les mesures nécessaires pour redémarrer le serveur. Si vous trouvez le script utile, partagez-le également avec d'autres.


Linux
  1. Comment configurer un serveur Web Apache

  2. Réglage du serveur Web Apache Keepalive

  3. Configurer l'envoi de journaux pour MSSQL Server

  4. Codes d'état de réponse HTTP

  5. Comment afficher les journaux du serveur Web dans Plesk

Comment héberger un site Web sur le serveur Web NGINX

Comment installer le serveur Web Hiawatha dans RHEL 8

Comment installer LiteSpeed ​​Web Server dans WHM/cPanel avec Centos 7.x ?

Comment faire passer le serveur Web d'Apache à LiteSpeed ​​sur WHM ?

500 Erreur de serveur

Comment configurer un serveur domestique