【问题标题】:what is the difference between apache/nginx/IISapache/nginx/IIS 有什么区别
【发布时间】:2012-03-07 19:01:22
【问题描述】:

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

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

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

这些天,我在学习rails,然后我听说了nginx。来自google,它也是一种网络服务器。

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

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

每个网络服务器都应该有自己的适合,例如tomcat for java,iis for asp.net。

但为什么是 apache/nginx?


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

不知道有人能帮我解释一下吗?

【问题讨论】:

  • 一个现实世界的网络系统,例如亚马逊门户网站,可能由多个不同角色的网络服务器组成。在这种情况下,可以根据其特性使用不同的 Web 服务器软件。例如,nginx 适合作为 Apache 或 IIS 的反向代理。

标签: apache iis nginx webserver


【解决方案1】:

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

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

所有这些产品都具有“网络服务器”功能,但它们区别于 http 请求背后发生的事情,即生成“答案”的内容。

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

希望清除一些东西...

抢劫

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-04
    • 1970-01-01
    • 1970-01-01
    • 2012-05-04
    • 2015-08-28
    • 2016-06-23
    • 2016-06-05
    相关资源
    最近更新 更多