Apache和Nginx的区别

Apache 和 NGINX 都是目前广泛使用的web服务器,占网络上网站流量的5%,他们之间又有什么区别呢?本文中,hostease美国服务器商将简单讨论两者各自的优缺点。Apache即Apache HTTP服务器,是由Apache Software Foundation 开发和维护的开源、高性能 Web 服务器软件,旨在创建符合当前HTTP标准的安全、强大以及高效的商业级web服务器。

因其灵活性、架构的简单性、强大的兼容性和多平台支持的特点,目前Apache依然是服务器管理员的首选,它可以运行在几乎所有的操作系​​统上,如Windows、UNIX、OSX、NetWare等。但最常见的还是在Linux服务器上。

Apache已然是万维网的骨干,它也确确实实在顶部位置。一直到Nginx进入市场,服务器管理员的选择也发生了变化。推荐阅读:《NGINX vs Apache 服务器具体有哪些区别》

虽然Nginx在许多方面都无法与功能丰富的 Apache 竞争,但它的异步状态和单线程架构使其成为超越 Apache 的明智选择。

让我们看看 Apache 和 NGINX 的区别:

Apache是一个开源的 HTTP 服务器;而Nginx是一个开源的、高性能的异步 Web 服务器和反向代理服务器。

Apache HTTP 服务器中的错误修复、支持、维护和应用程序开发由来自世界各地的用户社区管理和维护,并由 Apache 软件基金会协调;而Nginx由一家成立于 2011 年的同名公司处理。

两者之间的主要区别在于它们如何处理客户端请求,虽然Apache提供了不同种类的多处理模块来处理客户端请求和 Web 流量,但Nginx旨在以最少的硬件资源同时处理多个客户端请求。推荐阅读:《Nginx重启命令Linux步骤是什么?》

在Apache中,单个线程只与一个连接相关联;而Nginx中的单个线程可以处理多个连接。所有进程都与其他连接一起放入事件循环中,并进行异步管理。此过程消耗更少的内存,从而提高性能。

Apache HTTP Server 具有多线程架构,缺乏可扩展性;而Nginx遵循异步事件驱动的方法来处理多个客户端请求,它的事件驱动架构旨在促进更好的性能,即使在流量很大的情况下。

Apache服务器使用传统方法提供静态内容,并在 Web 服务器本身内本地处理动态内容;Nginx无法在内部处理动态内容,它依赖于外部进程来执行。推荐相关阅读:《重启nginx怎么操作?》

 

发表评论