Можно ли запустить Apache и IIS на одной машине с одним IP-адресом (и разными портами?) - PullRequest
3 голосов
/ 27 февраля 2009

«Основным» должен быть IIS. Есть ли возможность обратиться к апачу без ввода номера порта Причина этого: я не могу заставить Джанго работать на IIS Любые идеи будут оценены

Ответы [ 3 ]

5 голосов
/ 27 февраля 2009

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

Я не знаю об IIS, но на Apache вам нужно было бы загрузить mod_proxy (и я думаю, mod_proxy_http), а затем сделать что-то вроде этого:

ProxyRequests Off

<Proxy *>
  Order deny,allow
  Allow from all
</Proxy>

ProxyPass /foo http://foo.example.com/bar
ProxyPassReverse /foo http://foo.example.com/bar

Также проверьте документы для mod_proxy онлайн .

Возможно, вы захотите взглянуть на облегченные веб-серверы, такие как lighttpd , если вы собираетесь запустить два. Обычная настройка - иметь легкий веб-сервер, отводящий определенные задачи от основного. (Apache для динамического и lighttpd для статического контента является одним типичным примером).

Есть и другие возможности, начиная от придания большей фантазии, например

  • У третьего веб-сервера, выполняющего только прокси, и у двух других через альтернативные порты
  • Пусть они работают на одном и том же порту, но на двух IP-адресах, и скрывают этот факт через настройки сети

для атаки на основную причину либо

  • поиск соменона, который знает, как запустить Django на IIS
  • переход с IIS на другой веб-сервер

Конечно, я понятия не имею, что может подойти для вашей ситуации.

5 голосов
/ 27 февраля 2009

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

3 голосов
/ 27 февраля 2009

Если речь идет о запуске Django на сервере, который уже нуждается в IIS, вы можете запустить django на IIS напрямую благодаря таким усилиям, как Django-IIS и PyISAPIe . Я думаю, что было бы предпочтительнее НЕ запускать второй веб-сервер, когда все, что он собирается делать, это передавать запросы на третий сервер, код Django.

...