« 上一篇下一篇 »

Service Unavailable故障一例

因为论坛想转换成discuz 7.1 php版,在discuz的手握手里提交了申请,有一志愿者愿意帮助我转换。16日志愿者和我在QQ联系,我把服务器远程登录帐号密码告诉他,告知了具体要求。请他帮助转换。

    本来这种事我自己可以做,在别的服务器上很快搞定,但这台服务器上配置PHP环境居然这么麻烦,为了安全,我对服务器作了特别处理,所以在权限上和别的服务器不同,所以配置起来也难。因为懒得化很多的时间去学习,就交给志愿者去做了。

    志愿者也很努力,每天都弄到深夜。但是到今天中午,整整三天了,还没有环境搭建好。我开始怀疑他的能力了。终于在12:40,整台服务器无法访问了,这可是门户网站,停一小时会影响太多的人,产生经济损失。我问了他做了什么操作,他说不清楚,问他还有没有办法恢复原状,回答是没招了。看来只能我自己想办法了。

    首先打开IIS,看起来都正常,但就是出现Service Unavailable,想重启IIS,点IISreset,居然不能运行了,提示:不支持此接口。在百度上查此错误信息的原因,在许多的答案中,有一条比较可信,就是重新注册 iisrstap.dll组件, 说明志愿者可能动了dll 的组件,得重新注册一次,于是运行 regsvr32 iisrstap.dll ,这回IISRESET是可以运行了,但网站照样不行。

    这时我开始想是不是请机房把系统恢复克隆,这样需要化费起码二小时的时间,但保证能用。还有一种办法是求助他人。我在找到一个技术人员后,他说要开完会才能帮我弄。看来还得自己动手。

    以前有过经验,出现Service Unavailable往往和程序池有关。检查程序池,发现程序池停止运行,重新运行程序池,过一会又停止了。查了网络,和权限有关。那么会不会是程序池没有足够的权限无法运行?重新设定是运行程序的用户iwam的密码,然后每个程序池重新输入新的密码,OK了。系统终于恢复正常了,避免了恢复C盘克隆的痛苦。

    此事得出结论,服务器管理员太重要了,不是非常信任的人是不能交出的。服务器停止了一个小时,终于又正常了。


 

 2010-4-19