Как запустить / остановить сервер IIS Express?

Я установил MS Visual Web Developer 2010, в который входит IIS Express.

Перед этим я установил сервер XAMPP для своих приложений php.

Я хотел бы знать, как остановить IIS, чтобы запустить XAMPP? Похоже, что они используют один и тот же порт. Я предполагаю, что их можно изменить, но я не хочу мешать другим программам, и более того, я думаю, что это должно быть проще.

Спасибо!


person Michael    schedule 31.03.2012    source источник
comment
Я столкнулся с той же проблемой и обнаружил, что на порту 80 работает «Служба агента веб-развертывания». Используйте эту статью, чтобы отследить, какой процесс ее использует, и отключить ее: sites.google.com/site/anashkb/port-80-in-use   -  person ni5ni6    schedule 14.06.2012


Ответы (7)


Закрытие IIS Express

По умолчанию Visual Studio помещает значок IISExpress на панель задач в правом нижнем углу экрана рядом с часами. Вы можете щелкнуть его правой кнопкой мыши и выбрать выход. Если вы не видите значок, попробуйте щелкнуть маленькую стрелку, чтобы просмотреть полный список значков на панели задач.

Значок IIS Express

затем щелкните правой кнопкой мыши и выберите Выход:

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


Смена порта

Другой вариант - изменить порт, изменив свойства проекта. Вам нужно будет сделать это для каждого веб-проекта в вашем решении.

  1. Visual Studio> Обозреватель решений
  2. Щелкните правой кнопкой мыши веб-проект и выберите «Свойства».
  3. Перейдите на вкладку Интернет
  4. В разделе "Серверы" измените порт в поле "URL-адрес проекта".
  5. Повторите для каждого веб-проекта в решении.

Изменение порта IIS Express


Если все остальное терпит неудачу

Если это не сработает, вы можете попробовать запустить диспетчер задач и закрыть процесс панели задач IIS Express (32-разрядный) и рабочий процесс IIS Express (32-разрядный).

Завершение процесса рабочего потока IIS Express

Если он по-прежнему не работает, как указал ni5ni6, на порту 80 работает «Служба агента веб-развертывания». Используйте эту статью, чтобы отследить, какой процесс ее использует, и выключить:

https://sites.google.com/site/anashkb/port-80-in-use < / а>

person msigman    schedule 31.03.2012
comment
Спасибо за совет, но я все еще не могу запустить Apache. - person Michael; 31.03.2012
comment
Сделайте CTRL ALT DEL и убедитесь, что все потоки, начинающиеся с IISexpress, завершены. Иногда вспомогательные потоки застревают и не закрываются. - person msigman; 31.03.2012
comment
И так тоже, но безуспешно. Я просто изменю порт 80 по умолчанию для Apache, с которым я более знаком. Спасибо! - person Michael; 31.03.2012
comment
@Radu Привет, у тебя все заработало? Если вы нашли мой ответ полезным, отметьте его как Принято. Если нет, дайте мне знать, чем я могу вам помочь. Спасибо! - person msigman; 10.04.2012
comment
Здравствуйте, я изменил конфигурацию apache, чтобы он слушал localhost: 81 вместо localhost: 80. Ваше предложение логично, но тогда оно у меня не сработало. Я просто сбросил: 80 как порт для моего apache, выхожу из incon по часам. Все еще не работает .. Я пробовал CRTL ALT DEL, но не вижу каких-либо результатов для iis express или связанных с ним. Меня не беспокоит, если я использую: 81 для apache, но чтобы помочь другим, для которых мой обходной путь не подходит, скажите мне, каким должно быть имя процесса, и я попытаюсь его остановить. Спасибо за вашу доброту и терпение! - person Michael; 11.04.2012
comment
Любой способ сделать это из командной строки - чтобы мы могли использовать это как этап предварительной сборки или что-то в этом роде? - person BrainSlugs83; 20.10.2015
comment
Очень хорошая документация. Спасибо, у меня сработала смена номера порта. - person Nour Lababidi; 20.05.2016

Отличный ответ msigman. Я просто хочу добавить, что в windows 10 вы можете найти IIS Express System Tray (32 bit) процесс в Visual Studio процессе:

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

person AlbertK    schedule 12.07.2018

Я столкнулся с той же проблемой. Моя цель - протестировать сценарии PHP с Oracle на Windows 7 Home и, не задумываясь, установить IIS7 Express и в качестве запоздалой мысли рассмотреть Apache как более простой подход. Я исследую возможности IIS Express отдельно.

Проблема заключалась в том, что после установки IIS7 Express установка Apache играла вторую скрипку по сравнению с IIS Express и открывала домашнюю страницу Microsoft.

Я решил проблему с портом 80: -

  1. Остановка Microsoft WedMatrix: - чистая остановка была / г
  2. Перезагрузили сервер Apache
  3. Проверка того, что Apache теперь прослушивает порт: - netstat -anop
  4. Очистка кешей браузеров - Firefox и IE
  5. Запуск localhost
person James    schedule 27.03.2013

Откройте диспетчер задач и завершите оба этих процесса. Они автоматически запустятся. Затем попробуйте снова отладить свой проект.

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

person David    schedule 26.01.2021

Вот статический класс, реализующий Start (), Stop () и IsStarted () для IISExpress. Он параметризуется с помощью жестко заданных статических свойств и передает информацию о вызове через аргументы командной строки в IISExpress. Он использует пакет Nuget, MissingLinq.Linq2Management, который неожиданно предоставляет информацию, отсутствующую в System.Diagnostics.Process, в частности аргументы командной строки, которые затем можно использовать для устранения неоднозначности возможных множественных экземпляров процессов IISExpress, поскольку я не сохраняю идентификаторы процесса. Я предполагаю, что есть способ сделать то же самое с помощью только System.Diagnostics.Process, но жизнь коротка. Наслаждаться.

using System.Diagnostics;
using System.IO;
using System.Threading;
using MissingLinq.Linq2Management.Context;
using MissingLinq.Linq2Management.Model.CIMv2;

public static class IisExpress
{
  #region Parameters
  public static string SiteFolder = @"C:\temp\UE_Soln_7\Spc.Frm.Imp";
  public static uint Port = 3001;
  public static int ProcessStateChangeDelay = 10 * 1000;
  public static string IisExpressExe = @"C:\Program Files (x86)\IIS Express\iisexpress.exe";
  #endregion

  public static void Start()
  {
    Process.Start(InvocationInfo);
    Thread.Sleep(ProcessStateChangeDelay);
  }
  public static void Stop()
  {
    var p = GetWin32Process();
    if (p == null) return;

    var pp = Process.GetProcessById((int)p.ProcessId);
    if (pp == null) return;

    pp.Kill();
    Thread.Sleep(ProcessStateChangeDelay);
  }
  public static bool IsStarted()
  {
    var p = GetWin32Process();
    return p != null;
  }

  static readonly string ProcessName = Path.GetFileName(IisExpressExe);
  static string Quote(string value) { return "\"" + value.Trim() + "\""; }
  static string CmdLine =
    string.Format(
      @"/path:{0} /port:{1}",
      Quote(SiteFolder),
      Port
      );
  static readonly ProcessStartInfo InvocationInfo =
    new ProcessStartInfo()
      {
        FileName = IisExpressExe,
        Arguments = CmdLine,
        WorkingDirectory = SiteFolder,
        CreateNoWindow = false,
        UseShellExecute = true,
        WindowStyle = ProcessWindowStyle.Minimized
      };
  static Win32Process GetWin32Process()
  {
    //the linq over ManagementObjectContext implementation is simplistic so we do foreach instead
    using (var mo = new ManagementObjectContext())
      foreach (var p in mo.CIMv2.Win32Processes)
        if (p.Name == ProcessName && p.CommandLine.Contains(CmdLine))
          return p;
    return null;
  }
}
person Community    schedule 12.01.2014

Вы можете остановить любое приложение IIS Express или все приложения. Щелкните правой кнопкой мыши значок IIS Express, расположенный в правом нижнем углу панели задач. Затем выберите Показать все приложение.

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

person Twinkle B.    schedule 10.09.2019

чтобы остановить IIS вручную:

  1. перейти в меню "Пуск"
  2. введите IIS

вы получите результат поиска для менеджера (менеджера Internet Information Services (IIS), справа от него есть кнопки перезапуска / остановки / запуска.

Если вы не хотите, чтобы IIS запускался при запуске, потому что это действительно раздражает ..:

  1. перейти в меню «Пуск».
  2. щелкните панель управления.
  3. щелкните программы.
  4. включить или выключить функции Windows
  5. подождите, пока список загрузится
  6. выполните поиск информационных служб Интернета (IIS).
  7. снимите флажок.
  8. Подождите, пока с изменениями не будет покончено.
  9. перезагрузите компьютер, но опять же, информационное окно скажет вам сделать это в любом случае (вы можете оставить это позже, если хотите).

о, а IIS и xampp в основном делают то же самое, только немного по-другому. И если у вас есть Xampp для ваших проектов, тогда не обязательно оставлять его включенным, если вы никогда его не используете.

person ryanne    schedule 08.03.2013
comment
К сожалению, вопрос касался IIS Express :-( - person Scott; 07.11.2013
comment
Процесс, который вы объясняете, касается переустановки IIS и не имеет ничего общего с вопросом. - person Lalit Kale; 11.08.2016
comment
Эти инструкции предназначены для удаления IIS. Вопрос был в том, чтобы просто остановить IIS Express. - person John B. Lambe; 14.07.2021