陈德馨

Linux下自动监测并重启Apache服务脚本

646人参与 |分类: 工具库|时间:2015年10月08日 13:53

为了达到一个高可用的基于Apache的网站环境,在Apache由于种种原因自动停止运行之后,想立即恢复网站访问,这就需要有个工具实时监测Apache的运行状态并能够自动重启httpd服务,在网上查找了相关资料,改写了下面一个简单的监测和重启脚本:

原理

通过服务器本地访问自身Apache服务(与用户访问网站类似),如超过15s没有返回正常的220头代码信息,说明Apache服务已经停止运行了,则立即重启httpd服务。

使用方法

方法一:

1、在Linux服务器上执行vi编辑一个新脚本,并把下面脚本代码复制进去,然后退出并保存。

[root@localhost /]# vi /opt/autorshttpd

#!/bin/bash

URL="http://127.0.0.1/"

curlit()

{

curl --connect-timeout 15 --max-time 20 --head --silent "$URL" | grep '200'

}

doit()

{

if ! curlit; then

/etc/init.d/httpd restart > /dev/null

fi

}

while true; do

doit > /dev/null

sleep 10

done

2、给脚本赋予可执行权限

[root@localhost /]# chmod 755 /opt/autorshttpd

3、执行脚本

[root@localhost /]# sh /opt/autorshttpd &
[root@localhost /]# exit

注:在这里sh命令后面我为什么要加个&符号呢?这是因为我们一般操作服务器都是远程SSH操作的,所以如果不加&符号,那关闭SSH远程界面,此进程也就随之结束了,加上&符号,即使关闭SSH远程也可以让程序在后台运行,别忘了用exit命令退出登陆后,再关闭SSH远程界面哦。

4、让脚本开机自动运行

[root@localhost /]# vi /etc/rc.local

在最后面加上 sh /opt/autorshttpd 这一行即可。

方法二:

下载本站提供的脚本程序,解压之后上传到Linux服务器的/opt目录下,然后依次执行方法一中的2-4步骤即可。

360网盘:https://yunpan.cn/cPIHhWenNhvrH   | 提取码:af6b

来源:陈德馨博客(微信/QQ号:35435164),转载请保留出处和链接!

地址:

必填

选填

选填

◎已有 0 人评论,请发表您的观点。