不断线窍门之四:随时监测IIS状况,自动重启IIS。office:office" />
使用windows的用户,还经常遇到一个问题,就是为服务器提供web服务的IIS程序无响应,或者出错,导致服务中断,这时服务器还没有死机,只是IIS“死掉”了,怎么办?当然可以通过远程管理,人为重启IIS。不过,如果你恰好不在电脑旁边,或者无法上网,怎么办?我想到一个办法,可以让服务器自己经常检测IIS的运行状况,发现IIS“死掉”、“出错”的时候自动重启IIS,如果连续重启IIS几次,还是无法解决问题,就干脆自动重启服务器。方法很简单,也要用到一个小软件,请看下图:
这是个和小的监控程序,国产软件,只能用于Win2000/XP,不能用于NT4。
先将 HttpMon.exe 复制到硬盘上,并将其添加到Windows的任务计划中,设置为"计算机启动时运行",以administrator 的权限运行。这样监控程序就会随windows系统一起启动。
这个软件同刚才介绍的那个小软件一样,具有定时重启功能,可指定每隔几天重启一次计算机或是重启IIS。若是指定为0天时表示每天重启一次。不过我们主要用到的不是这个功能。我们主要用的是这个软件提供的“http监控”功能。
1、首先用记事本,建立一个新文件,写上一个简单的代码,如<%response.write "OK"%>,保存为 state.asp,将来软件通过访问这个文件,可以检查IIS是否死掉。若要检查链接数据库是否正常还可以把代码写为:
<%
set db=CreateObject("ADODB.Connection")
db.open 数据库链接
db.close
%>
运行HttpMon.exe 点击"添加"按钮添加监控条件。
a)在"检查链接"里加上用来监控的页面 如 http://coolweb.meibu.com/sendmail.asp
b)在"检查频率"中可以指定多长时间检查一次,默认是20分钟
c)在返回信息中选择要检查的条件,有几种情况:
返回状态等于,返回状态值不等于,文件大小等于,小于,大于。
"返回状态值" 指IIS返回的客户端时的状态。
200 是正常
302 文件重定向
404 文件找不到
500 服务器内部错误
默认是:当返回状态不等于200时(表示IIS出错时)重起IIS
当上面情况出现时可做几个对应处理:
a)重启计算机 b)重启IIS c)关闭计算机 d)请求页面 "请求页面"可用于扩展程序功能,如通过请求一个程序页面 (http://coolweb.meibu.com/sendmail.asp)发信给管理员。
2、因为有时重启IIS不一定成功,所以当上面错误情况出现时,程序会自动缩短检查的隔时间,默认为5分钟。也可以自定义。当上面操作多次重试都不成功时,还可以设置对应的操作。例如:当重启了3次IIS后还是有错误,这时可以在后面设置为重启计算机。
3、日志功能可以记录Http监控程序的工作情况,他可以记录什么时候检查过什么页面,什么时候出现了错误,对应操作是什么。
怎么样,麻雀虽小五脏俱全,想得够周到吧?其实这个程序不仅可以用在家里的服务器上,对于托管在电信机房的固定IP地址的服务器,同样可以使用这个软件,可以减轻不少管理员的工作负担。
设置好之后,今后如果想调整一些设置,还可以通过软件的“编辑”功能来修改,很方便。