如何使用命令行在IIS7 +中重新启动单个网站?


18

如何仅使用命令行重新启动IIS7 +中的单个网站?

与图像中带圆圈的菜单项相同的功能-但来自命令行。

在此处输入图片说明

Iisreset没有任何选项可以处理单个文件,并且我发现了一些对Iisweb.vbs的古老引用,这似乎已经过时了。

Answers:


26

您正在寻找的是appcmd命令。看看它的TechNet手册

列出您的网站

%windir%\system32\inetsrv\appcmd list site

要重新启动站点,请先停止然后再启动

appcmd start site /site.name:string

要么

appcmd stop site /site.name:string


请注意-我在iisexpress目录(cd \ Program Files \ IIS Express)中,并且对启动选项的位置感到困惑。确保您实际上使用的是正确的Web服务器,即IIS的C:\ Windows \ System32 \ inetsrv。只是为了避免别人犯我的错
Crab Bucket

有什么想法为什么上面的命令会给我'stop' is not recognized as an internal or external command, operable program or batch file.?我已经验证了startstop命令可以单独工作,但不能通过管道工作。
dotNET

@dotNET我想Wesley考虑到了startor stop,而不是管道。
Laika

1
@laika:aaah ...有时候我们变得如此盲目。现在如此明显,我看着它。感谢您指出。但是,那是几年前的事,甚至都不记得我在做什么。:)
dotNET

2
这是一个调用此示例(对于名为“ SDL Web”的网站):%windir%\system32\inetsrv\appcmd stop site /site.name:"SDL Web" 我将其粘贴到.bat文件中,并且可以使用-谢谢。
乔纳森·威廉姆斯

4

我个人建议不要停止和启动站点,而要回收关联的应用程序池。

对于最终用户而言,这应该更容易察觉,而在站点停机时停止/启动可能会产生503s。

APPCMD列表WP

APPCMD回收WP

是此命令的命令行版本...


-1

列出您现有的网站,其中包括:

C:\> iisweb.vbs /query

然后您可以通过执行以下命令来重新启动特定网站:

C:\> iisweb.vbs /stop <website> && iisweb.vbs /start <website>

IIS 7和更高版本不再使用iisweb。
韦斯利
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.