В первой части этой статьи мы обсудили, как Apache и IIS могут быть установлены на отдельных реальных или виртуальных машинах. Однако, это может быть непрактично, если вы являетесь ведущим разработчиком в команде из одного человека. В этом посте мы обсудим, как вы можете установить оба сервера на одном компьютере.
Одновременные серверы
Вы можете установить Apache и IIS на одном ПК с Windows одновременно. Несмотря на то, что приложения будут работать, они оба будут прослушивать веб-запросы на TCP-порту 80 — будут конфликты, поэтому потребуется небольшая настройка.
Самое простое решение — изменить порт по умолчанию для одного из серверов на 81 (или любой другой запасной номер). В Apache вы можете изменить директиву Listen в файле конфигурации httpd.conf:
Listen *:81
В IIS вы меняете настройку привязок в диспетчере IIS:
Microsoft предоставляет полезную страницу с инструкциями по TCP-порту для всех версий IIS .
Поэтому URL-адрес браузера будет http: // localhost / для сервера, использующего порт 80, и http: // localhost: 81 / для сервера, использующего порт 81.
Этот метод позволяет тестировать одно и то же приложение на разных серверах, хотя могут возникнуть проблемы с блокировкой файлов или другие странные проблемы.
Это отличное решение, но я им не пользуюсь. Основные причины: я часто забываю сменить порт при тестировании, альтернативный номер порта может вызвать сложности при разработке, редко мне нужны оба сервера одновременно, и мне не нравятся фоновые программы, работающие, когда я не использую их. К счастью, есть альтернатива …
Переключение серверов
Мое предпочтительное решение — запускать любой сервер, который мне нужен, когда он мне нужен. Apache и IIS запускаются как служба Windows — откройте Администрирование > Службы . Найдите Apache и IIS (W3SVC — World Wide Web Publishing Service) и установите для обоих типов запуска значение Вручную:
(Запишите имя службы Apache — на скриншоте выше это «Apache2.2».)
Ни один из серверов не будет работать при загрузке вашего ПК. Чтобы запустить и остановить службы, мы собираемся создать 4 пакетных (.bat) файла в одной папке. Пакетные файлы представляют собой список команд командной строки, которые существовали со времен MS-DOS:
старт-apache.bat
Это остановит IIS и запустит / перезапустит Apache. (Обратите внимание, что «Apache» считается именем службы в третьей строке, но ваша установка может отличаться.)
@call stop-iis.bat
@call stop-apache.bat
@net start Apache
стоп-apache.bat
Это остановит Apache (при необходимости измените имя службы).
@net stop Apache
старт-iis.bat
Это остановит Apache и запустит / перезапустит IIS.
@call stop-apache.bat
@call stop-iis.bat
@net start W3SVC
стоп-iis.bat
Это остановит IIS в Windows Vista или 7.
@net stop was /y
стоп-iis.bat
Это остановит IIS в Windows XP или более ранней версии.
@net stop iisadmin /y
Вы можете дважды щелкнуть эти файлы, чтобы запустить их, или создать ярлыки на рабочем столе / в меню «Пуск» для более удобного доступа.
Я надеюсь, что вы найдете одно или оба этих решения полезными. Есть ли у вас какие-либо другие советы для запуска различных веб-серверов на одном компьютере?