apache / nginx / IIS有什么区别

时间:2012-02-16 11:14:11

标签: apache iis nginx webserver

我是一名java Web应用程序开发人员,现在我在.net框架上工作。

当我在java web中工作时,我们使用tomcat / jboss来部署我们的应用程序。我以为tomcat / jboss是web服务器。

当我在asp.net工作时,我使用IIS来部署应用程序,然后我认为IIS是另一种Web服务器。

这些天,我正在学习rails,然后我听到了nginx。从谷歌,它也是一种网络服务器。

但是我发现有些人说我们可以一起使用nginx和IIS,或者其他组合。

现在,我很困惑,在我看来,Web服务器应该处理来自客户端的请求并返回结果。

每个Web服务器都应该有自己的版本,例如,tomcat for java,iis for asp.net。

但是为什么apache / nginx?


顺便说一句,我不是说apache / nginx没用,我只是不熟悉这个。

我想知道是否有人能为我解释一下?

1 个答案:

答案 0 :(得分:11)

首先要做的事情是:“网络服务器”只是一个通过http(s)协议提供内容的软件。这是最低限度的功能。所以你抛出了很多额外的功能......

JBOSS / Tomcat不仅是一个“网络服务器”; tomcat提供了一个功能,让java应用程序响应发送到该服务器的请求,JBOSS更多,它提供了将您的软件“部署”到生产环境中的特殊技术,以及更多......

所有这些产品都具有“Web服务器”功能,但它们区分了http请求背后的内容,即产生“答案”的内容。

为了让您更加困惑,您可以在apache Web服务器中运行ASP.NET(必须使用“执行.NET代码”功能进行扩展)。当然,您可以构建所有这些产品的组合,因为代理可以使用http协议。例如,您可以使用apache Web服务器作为客户端访问点,对某些数据库进行身份验证,然后将请求转发到仅允许来自apache的连接的防火墙IIS服务器。因此,您可以在Windows服务器上实现可能不受支持的身份验证(或负载均衡器)......

希望清除一些东西......

抢劫