用命令重启IIS 常重启IIS的朋友看过来

  网站莫名其妙出现问题(很多时候是我们发现不了它),于是重启服务(有时更痛快重启机器)。今天我们就IIS6.0来说一下你是怎么重启服务的吧。我想一开始都是靠图形化界面操作的吧,后来知道了重启net start[stop] W3SVC,再后来知道iisweb/start[stop] 默认网站,再后来知道了iisreset/noforce命令也可以做这件事,再后来知道了可以用vbs,如下代码所示:

set WebServiceObj = GetObject("IIS://LocalHost/w3svc")
WamUserName 
= WebServiceObj.WAMUserName
MsgBox WamUserName
再后来知道好像还可以用c#语言来控制(我没有具体做),也许还有别的途径……总上所述其实只有重启服务和重启网站两种情况。

  接下来看一下网站和服务的关系,服务是网站运行的基础,World Wide Web Publishing Service服务上可以运行多个网站,如停止了World Wide Web Publishing Service则所有网站以及应用程序池都会停止如下图:
反之,手动停止网站或者应用程序池,  World Wide Web Publishing Service服务不会受到影响。从这个简单的关系我们可以得出某个网站出现了问题并不一定是服务的问题,很多时候是这个网站的程序出现问题(当然也有程序错误比较厉害导致服务停止的情况),所以不一定需要重启服务,只需把网站程序重新启动即可。网站数据(这里指内存数据如缓存或静态变量而非数据库数据),也许出现紊乱,也许需要重新加载,这个时候只要把网站对应的应用程序池重启就可以了。可以用什么命令来重启应用程序池呢(当然通过图形界面是可以的)?目前我只找到了一种用vbs实现的办法,如下代码:

set WebAppPool = GetObject("IIS://LocalHost/w3svc/AppPools/DefaultAppPool")
WebAppPool.Stop
WebAppPool.Start

  结尾:如果你有更好的办法,请不吝回帖,
posted @ 2006-12-04 23:10  布尔  阅读(6948)  评论(5编辑  收藏  举报