GNU/Linux >> LINUX-Kenntnisse >  >> Linux

LiteSpeed-Webserver „Alle Listener fortsetzen“-Workaround

Ich verwende LiteSpeed ​​Webserver. Es funktioniert hervorragend, wenn es mit dem LiteSpeed ​​Cache WordPress-Plugin verwendet wird. Manchmal sehe ich jedoch, dass das error.log mit den Hinweismeldungen „Resume All Listeners“ gefüllt ist.


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

Hier sind einige Statistiken aus den Fehlerprotokollen.


# 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

Bei einer schnellen Google-Suche bin ich auf der Wiki-Seite von LiteSpeed ​​gelandet. Der Inhalt der Seite lautet wie folgt:

  • Dieser Hinweis wird angezeigt, wenn das Limit „Max. Verbindungen“ erreicht ist.
  • Wenn es anfängt zu passieren, bedient der Server nur wenige Anfragen mit Unterbrechungen. Sie werden also überhaupt nichts von diesem Problem erfahren, es sei denn, Sie haben einige Überwachungsskripts installiert.
  • Es gibt keine Möglichkeit, dieses Problem zu beheben, es wird weiter zunehmen und nach und nach werden alle Ihre Websites ausfallen.
  • Die einzige Möglichkeit, dieses Problem zu beheben, besteht darin, den Server neu zu starten.

Ich habe die folgenden Einstellungen für meinen LiteSpeed-Webserver beibehalten.

Verbindungseinstellungen für die Feinabstimmung des LiteSpeed-Webservers

Dies sind sehr hohe Zahlen und mein Website-Traffic ist nicht so hoch, um diese Grenze zu überschreiten. Trotzdem sehe ich manchmal, dass meine error.log-Datei mit „Resume All Listeners“-Meldungen gefüllt wird.

Indikatoren für den Fehler „Alle Listener fortsetzen“

  1. Reduzierter Traffic :Ich habe Google Analytics verwendet, um den Verkehr auf meiner Website zu verfolgen. Ich habe jedes Mal einen Rückgang von etwa 20 % festgestellt, wenn dieser Fehler auftaucht.
  2. Website-Überwachungsdienste :Ich verwende Uptime Robot, um die Ausfallzeiten meiner Websites zu überwachen. Wenn Sie sporadisch Meldungen über Ausfallzeiten Ihrer Websites erhalten, aber wenn Sie nachsehen und alles in Ordnung ist, könnte dies daran liegen.
  3. Webseite lädt manchmal nicht :Wenn alles in Ordnung ist und Ihre Website plötzlich nicht geladen wird und das Problem beim Aktualisieren oder in ein paar Minuten behoben ist, könnte dies an diesem Fehler liegen.
  4. Reichweite der Leser :JournalDev ist eine beliebte Website und oft bekomme ich Nachrichten von den Benutzern, dass meine Website nicht geladen wird. Es ist immer eine gute Idee, schnell das Serverfehlerprotokoll zu überprüfen, um festzustellen, ob es bei einigen Benutzern zufällig aufgrund eines Listener-Fehlers auftritt.

Fix für den Fehler „Alle Listener fortsetzen“

Wir wissen, dass die einzige Lösung darin besteht, den Server neu zu starten. Wir können die Server nicht ständig manuell überprüfen. Aus diesem Grund habe ich ein einfaches Shell-Skript geschrieben, um in der error.log-Datei nach dem „Resume All Listeners“ zu suchen und wenn es einen bestimmten Schwellenwert überschreitet, den Server einfach neu zu starten.

Da bei jedem Serverneustart eine neue error.log-Datei erstellt wird, müssen wir uns um die früheren Fehlermeldungen nicht kümmern.

Hier ist das Shell-Skript, das für mich funktioniert.

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

Ich habe es mit dem crontab-Befehl so eingestellt, dass es alle 2 Minuten ausgeführt wird.


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

Hinweis :Das Skript funktioniert gut auf meinem Ubuntu-Server. Wenn Sie ein anderes Betriebssystem verwenden, müssen Sie möglicherweise geringfügige Änderungen vornehmen, damit es funktioniert.

Schlussfolgerung

Jetzt mache ich mir keine Sorgen darüber, dass LiteSpeed ​​wegen Verbindungserschöpfung nicht reagiert. Das Skript führt die erforderlichen Schritte aus, um den Server neu zu starten. Wenn Sie das Skript hilfreich finden, teilen Sie es auch mit anderen.


Linux
  1. So konfigurieren Sie einen Apache-Webserver

  2. Optimieren von Apache Web Server Keepalive

  3. Installieren Sie WordPress auf dem LiteSpeed-Webserver

  4. Fehler beim Abrufen des Adressbereichs des Fehlerprotokolls APEI [Fix]

  5. Windows Server 2012 in all seiner Großartigkeit

So hosten Sie eine Website auf dem NGINX-Webserver

So installieren Sie den Hiawatha-Webserver in RHEL 8

Wie installiere ich den LiteSpeed-Webserver in WHM/cPanel mit Centos 7.x?

Wie wechsle ich den Webserver von Apache zu LiteSpeed ​​auf WHM?

500 Serverfehler

So richten Sie einen Heimserver ein