LiteSpeed Web服务器"恢复所有侦听器"解决方法

时间:2020-02-23 14:41:33  来源:igfitidea点击:

我正在使用LiteSpeed Web服务器。
与LiteSpeed Cache WordPress插件一起使用时,它的效果很好。
但是,有时我看到error.log中充满了"恢复所有侦听器"通知消息。

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

以下是错误日志中的一些统计信息。

# 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

在快速的Google搜索中,我进入了LiteSpeed Wiki页面。
该页面的要旨如下:

  • 当达到"最大连接数"限制时,该通知开始出现。

  • 当它开始发生时,服务器将不会间歇性地处理几个请求。
    因此,除非您有一些监视脚本,否则您将根本不会了解此问题。

  • 没有解决此问题的方法,它会继续增长,并且逐渐您的所有站点都将关闭。

  • 解决此问题的唯一方法是重新启动服务器。

我为LiteSpeed网络服务器保留了以下设置。

LiteSpeed Web服务器调整连接设置

这些数字非常高,我的访问量并没有超过这个限制。
但是,有时我仍然看到我的error.log文件充满了"恢复所有侦听器"通知消息。

恢复所有侦听器错误的指标

  • 减少流量:我使用Google Analytics(分析)来跟踪我的的流量。
    每次开始出现此错误时,我都看到下降了20%。

  • 监视服务:我使用Uptime Robot来监视我的的停机时间。
    如果您间歇性地收到有关停机的消息,但是当您检查并一切正常时,则可能是因为此。

  • 有时未加载:如果一切正常,突然您的未加载,并且刷新或者几分钟后问题不再存在,则可能是由于此错误。

  • 读者的支持:theitroad是一个受欢迎的,很多时候我都收到用户的消息,说我的没有加载。
    快速检查服务器错误日志以查看是否由于监听器错误而对某些用户随机发生始终是一个好主意。

修复恢复所有侦听器错误

我们知道唯一的解决方法是重新启动服务器。
我们无法一直手动检查服务器。
因此,我编写了一个简单的Shell脚本来检查error.log文件中的"恢复所有侦听器",如果该脚本超过了某个阈值,则只需重新启动服务器即可。

由于每次服务器重启时都会创建一个新的error.log文件,因此我们不必担心之前的错误消息。

这是对我有用的shell脚本。

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

我已使用crontab命令将其设置为每2分钟运行一次。

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

注意:该脚本在我的Ubuntu服务器上运行良好。
如果您使用任何其他操作系统,则可能必须进行一些更改才能使其正常运行。