Как перезапустить отдельный сайт в IIS7 + с помощью командной строки?


18

Как перезапустить один сайт в IIS7 + только с помощью командной строки?

Функциональность та же, что и у пункта меню в картинке (но из командной строки).

введите описание изображения здесь

Iisreset не имеет никаких опций для работы с отдельными файлами, и я нашел несколько древних ссылок на Iisweb.vbs, который, кажется, устарел.

Ответы:


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) и был озадачен тем, куда пропала опция запуска. Убедитесь, что вы используете правильный веб-сервер, то есть C: \ Windows \ System32 \ inetsrv для IIS. Просто чтобы другие не допустили мою ошибку
— Crab Bucket

Любая мысль, почему приведенная выше команда даст мне 'stop' is not recognized as an internal or external command, operable program or batch file.? Я проверил, что startи stopкоманды работают индивидуально, но не через трубопровод.
— dotNET

@ DotNET Я полагаю, что Уэсли имел в виду либо, startлибо stop, а не пайпинг.
— лайка

1
@laika: аааа ... иногда мы становимся такими слепыми. Теперь это так очевидно, что я смотрю на это. Спасибо за указание. Это было много лет назад, даже не помню, что я делал. :)
— dotNET

2
Вот пример вызова этого (для сайта под названием «SDL Web»): %windir%\system32\inetsrv\appcmd stop site /site.name:"SDL Web" я вставил это в файл .bat, и это работает, спасибо.
— Джонатан Уильямс

4

Я бы лично предложил не останавливать и запускать сайты, а перерабатывать связанный пул приложений.

Это должно быть ближе к незаметному для конечных пользователей, в то время как остановка / запуск, вероятно, выдаст 503 секунды, пока сайт не работает.

APPCMD LIST WP

APPCMD RECYCLE WP

версии для командной строки этого ...


-1

Перечислите свои существующие веб-сайты с:

C:\> iisweb.vbs /query

и затем вы можете перезапустить определенный сайт, выполнив:

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

iisweb больше не используется в IIS 7 и более поздних версиях.
— Уэсли
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.