в чем разница между apache / nginx / IIS - PullRequest
7 голосов
/ 16 февраля 2012

Я был разработчиком веб-приложений на Java и теперь работаю над .net framework.

Когда я работаю в java web, мы используем tomcat / jboss для развертывания нашего приложения. Я думал, что tomcat / jboss - это веб-сервер.

Когда я работаю в asp.net, я использую IIS для развертывания приложения, тогда я думал, что IIS - это другой тип веб-сервера.

В эти дни я изучаю рельсы, потом я услышал nginx. От Google это тоже своего рода веб-сервер.

Однако я обнаружил, что некоторые люди говорят, что мы можем использовать nginx и IIS вместе или другую комбинацию.

Теперь я запутался, по моему мнению, веб-сервер должен обработать запрос от клиента и вернуть результат.

Каждый веб-сервер должен иметь свое собственное соответствие, например, tomcat для java, iis для asp.net.

Но почему apache / nginx?


Кстати, я не имею в виду, что apache / nginx бесполезен, я просто не знаком с этим.

Интересно, кто-нибудь может мне это объяснить?

1 Ответ

11 голосов
/ 16 февраля 2012

Перво-наперво: «веб-сервер» - это просто часть программного обеспечения, которая обслуживает контент по протоколу http (s).Это минимальная функциональность.Таким образом, вы добавили множество дополнительных функций ...

JBOSS / Tomcat - это не только "веб-сервер";Tomcat предоставляет функциональные возможности для того, чтобы приложение Java отвечало на запросы, отправленные на этот сервер, JBOSS - это гораздо больше, он предоставляет специальные методы «развертывания» вашего программного обеспечения в производственной среде и многое другое ...

Всеэти продукты имеют функцию «веб-сервера», но они различают то, что происходит за http-запросом, и именно это генерирует «ответ».

Чтобы немного запутать вас, вы можете запустить ASP.NET ввеб-сервер apache (который должен быть расширен средствами «выполнения кода .NET»).И, конечно, вы можете создавать композиты из всех этих продуктов, так как протокол http может использоваться прокси.Например, вы можете использовать веб-сервер apache в качестве клиентской точки доступа, которая аутентифицируется по какой-либо базе данных, а затем перенаправляет запросы на сервер IIS с межсетевым экраном, который разрешает соединения только из apache.Таким образом, вы можете реализовать аутентификацию (или балансировщик нагрузки), которая может не поддерживаться на вашем сервере Windows ...

Надеюсь, что некоторые вещи прояснились ...

rob

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...