Как перезапустить конкретный сайт IIS с нескольких сайтов IIS?

#deployment #iis-7 #web #cruisecontrol.net #multiple-projects

#развертывание #iis-7 #веб #cruisecontrol.net #несколько проектов

Вопрос:

В нашей компании у нас есть несколько проектов на одном сервере IIS, и я работаю над автоматизацией сборки с помощью CruisControl. Мой вопрос в том, что мне нужно перезапустить конкретный сайт IIS после развертывания без входа на сервер или с помощью заданий CruiseControl.

У кого-нибудь есть идеи?

Ответ №1:

Ну, я получил ответ на это 🙂 Поэтому я использовал пакетный скрипт для остановки / запуска IIS и выполнил его с панели управления CruiseControl. Вы можете использовать приведенный ниже пакетный сценарий, если у вас нет разрешения администратора на выполнение appcmd.

** Ниже расположение по умолчанию во всей системе (может быть отложено)

создайте отдельный пакетный файл для остановки и запуска и запустите его из задания CCNet.

"C:WindowsSystem32inetsrvappcmd stop site qwerty" Останавливает сайт ‘qwerty’

"C:WindowsSystem32inetsrvappcmd start site qwerty" Запускает сайт ‘qwerty’

дайте мне знать, если это поможет!

Ответ №2:

Вы можете запустить отдельный веб-сайт, не влияя на работу любого другого веб-сайта, который поддерживается сервером, обслуживаемым Internet Services Manager.

Для запуска отдельного веб-сайта, который ранее был остановлен:

  • Войдите на компьютер веб-сервера в качестве администратора.

  • Нажмите Пуск, выберите Настройки, а затем выберите Панель управления.

  • Дважды щелкните Администрирование, а затем дважды щелкните Диспетчер служб Интернета.

  • Щелкните правой кнопкой мыши веб-сайт, который вы хотите запустить, на левой панели и нажмите кнопку Пуск.

Командная строка:

Командная строка Для запуска или остановки веб-сайта используйте следующий синтаксис:

 appcmd start | stop site /site.name:string
  

Переменная string — это имя веб-сайта, который вы хотите запустить или остановить.
Например, чтобы остановить веб-сайт с именем contoso, введите следующее в командной строке, а затем нажмите ENTER:

 appcmd stop site /site.name: contoso
  

Надеюсь, это вам поможет 🙂

Комментарии:

1. Спасибо, это помогает, но поскольку у меня нет доступа администратора к серверу, я не могу выполнить эту команду там. на моем локальном компьютере все работало нормально. Есть идеи, как это сделать с помощью CrusiControl?

2. отлично.. Добро пожаловать :)… В CrusiControl я не нашел никакого прямого способа добиться этого.. однако, если я что-нибудь найду, я тоже добавлю это…

Ответ №3:

На данный момент я не нашел способа перезапустить любой сайт по отдельности, однако с помощью модуля IISAdministration power shell мы можем автоматизировать процесс или использовать наш скрипт для автоматического перезапуска сайта

 Stop-IISSite -Name $web -Confirm:$false   #$web provide IIS site name
  

Как только сайт остановлен, вы можете начать снова (перезапустить)

 Start-IISSite -Name $web