Web 服务器的主要功能是尽可能高效地为您的网站提供内容,而不会因流量过多或减慢其加载时间。考虑这一点的一个好方法是水压。如果你的管道系统给你的房子带来了太大的压力,那么什么都不会正常工作!同样,如果 Web 服务器本身在努力通过其管道发送数据时没有足够的可用资源,那么事情将开始变得非常快!
今天使用的三种最流行的服务器类型包括:Mongrels(用 Ruby 编写)、Apache(主要用 C/C++ 编写)和 Nginx(完全用 C 编写)。您应该选择哪一种?让我们来了解一下!
Web 服务器是计算机系统的一部分,它响应来自客户端(例如,Web 浏览器)对存储在服务器文件系统中的文档和文件的请求。该术语也可以仅指使这成为可能的软件,或者更一般地指运行应用程序的任何类型的计算机上的任何类型的服务器。
Web 服务器的主要功能是尽可能高效地为您的网站提供内容,而不会因流量过多或减慢其加载时间。考虑这一点的一个好方法是水压。如果你的管道系统给你的房子带来了太大的压力,那么什么都不会正常工作!同样,如果 Web 服务器本身在努力通过其管道发送数据时没有足够的可用资源,那么事情将开始变得非常快!
今天使用的三种最流行的服务器类型包括 Mongrels(用 Ruby 编写)、Apache(主要用 C/C++ 编写)和 Nginx(完全用 C 编写)。
它们都有很长的历史,可以追溯到互联网的早期,并且随着时间的推移证明了它们的可靠性。所有三个服务器都是开源的,这意味着您可以自己修改代码,甚至可以免费使用.这也意味着在软件中发现的任何错误都将由共享其工作的开发人员社区修复。它们都是跨平台的,这意味着它们可以在多个操作系统(例如 Windows 和 Linux)上运行。
Mongrel 是 Ruby 的 Web 服务器。它快速、可靠且可扩展。 Mongrel 不是 CPU 密集型 Web 应用程序的最佳选择,因为 ruby 不是一种非常快的语言。
Mongrel 实现了一个单进程模型,其中请求由每个连接一个线程处理(或者如果您配置它这样做,则更少)。这会缩短响应时间,因为无需在每次请求后将控制权返回给用户之前等待 I/O 操作。
Apache 是世界上最受欢迎的 Web 服务器,这是有充分理由的。它是免费的、开源的和跨平台的(意味着它可以在多种操作系统上运行)。 Apache 也是用 C++ 编写的,这使得它非常快。
Apache 背后还有一个非常大的社区,其中包含许多可用的模块,允许您将其功能扩展到默认情况下本机支持的功能之外。插件系统允许您添加任何东西,从额外的安全模块到复杂的应用程序,如 memcached 或 redis 缓存服务器。
Apache 的唯一缺点是,如果您想完全控制网站的工作方式,它需要一些技术知识,但是一旦您拥有了这些知识,那么您可以使用该软件实现的目标几乎没有限制!
Nginx 是一种流行的开源 Web 服务器,旨在处理高并发,它还具有事件驱动的架构。
Nginx 使用异步 I/O 来处理请求,这有助于它实现比其他 Web 服务器更高的性能。这是因为 Nginx 不必等待上游服务器的响应即可将数据发送回客户端;相反,Nginx 使用多个执行线程(每个连接一个)发送数据。它还具有模块化设计,如果您不需要全部,则允许您仅在服务器上包含应用程序堆栈的某些部分。最常见的功能集包括:
网络服务器 (HTTP/1.1)
反向代理/负载平衡器 (TCP)
要点:如果你有一个网站,它需要一个网络服务器。在选择 Apache、Mongrel 或 Nginx 时考虑这些优缺点
如果你有一个网站,它需要一个网络服务器。
各自的优缺点是什么?
Mongrel 适用于预计不会增长的小型网站。
Nginx 适用于具有许多并发用户的大型站点。
Apache 可以很好地处理流量峰值,因为它可以按需生成新进程并与现有进程并行处理它们。
他们有什么共同点?它们都使用线程来处理请求(而不是只有一个进程做所有事情)。这意味着同一进程可以同时处理多个请求;如果一个请求需要很长时间,则其他请求不必等待轮到它们。
因此,您正在考虑使用 Web 服务器。好消息是您有三个不错的选择。我们在这篇博文中回顾了每一个的优缺点。如果您在阅读此博客文章后还有任何其他问题,请在下面的评论部分告诉我们,或通过我们的联系表与我们联系。