Назад | Перейти на главную страницу

IIS и Apache на одной машине?

У меня есть Windows 2003 Server, на котором запущен IIS (из-за необходимости размещения сайта ASP).

Я хотел добавить несколько сайтов без ASP (HTML, PHP и MySQL), поэтому я подумал, что могу просто запустить apache на 8080.

Что меня немного смущает, так это то, что если кто-то попадает на DomiainA.com, IIS перехватывает его и перенаправляет на DomainA.com:8080, где запущен apache. Я мог бы сделать это, поместив переадресацию javascript на стороне сервера в www-root IIS для домена.

Что еще я могу сделать более правильным?

Как уже упоминал кто-то другой, нет причин, по которым вы не можете запускать приложение PHP под IIS. Сказав это, вы можете настроить IIS для прослушивания только определенных IP-адресов (по умолчанию он будет занимать порт 80 на каждом IP-адресе на компьютере, независимо от того, настроен ли ваш сайт для использования этого IP-адреса или нет). Затем вы можете запустить Apache на IP-адресе (ах), которые не привязаны к IIS, и без каких-либо проблем иметь оба рядом друг с другом. Я бы просто запустил приложение PHP в IIS, если нет веской причины использовать Apache.

Обычно это решается с помощью правил переадресации, когда сервер сообщает клиенту правильное местоположение (прозрачно для пользователя, но он увидит правильный URL). В Apache правила перенаправления очень легко использовать: глобально в конфигурации или локально с использованием файлов .ht *.

Если это сложно сделать с IIS или IIS не предоставляет недорогого решения (например, производительности, задержки), возможно, вы захотите запустить Apache на порту 80 и IIS на 8080.

В противном случае я бы не хотел поддерживать сразу два веб-сервера, если мне это не нужно. (Примечание: Apache превосходит другие, поэтому наличие отдельного IIS для обслуживания ASP действительно имеет смысл)

PHP работает под управлением IIS. Вам нужно будет найти лучшую причину для запуска httpd ...

Я также рекомендую вариант PHP под IIS.
Купите, если вам действительно нужно 2 работающих сервера, вы можете использовать ISA Server:
http://www.microsoft.com/forefront/edgesecurity/isaserver/en/us/features.aspx?pf=true
Помимо прочего, он позволяет выполнять переадресацию портов.

Не выполняйте перенаправления с помощью JavaScript, это будет плохой дизайн.

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