nginx和apache web服务器

前端之家收集整理的这篇文章主要介绍了nginx和apache web服务器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

这个问题不是Nginx vs apache.我对Nginx对Apache的架构优势更感兴趣.当我能够理解 –

> Nginx是一个异步的,事件驱动的网络服务器,它以超大的优势胜过Apache.

为什么是这样? Apache落后于哪里?

最佳答案
没有一个原因,Nginx严格“胜过”Apache.对于许多加载模式,您可以配置Apache,以便处理此负载.对于一些(非常繁忙的)加载模式,默认配置中的Nginx可能会显示性能下降,并且可能需要微调才能正常工作.

然而,这是许多的经验,Nginx实际上是“开箱即用”,或者简单的调整.当Nginx作为前端安装时,许多系统的性能显着提高,Apache移动到后端.

主要原因是Nginx是事件驱动的,并且包含处理连接生命周期的状态机.这样,您可以拥有非常少的“工作者”进程,每个进程同时处理数百甚至数千个连接.对于Apache,您将必须运行与连接数相同数量的子进程(或线程).

显然,反对一千个进程的三个进程至少应该是一个巨大的胜利.

特别是,Nginx很容易允许大大减少服务静态文件(图像,Javascript,CSS)的负载.处理Nginx中的每个附加连接是非常便宜的,因为根据请求数量,静态文件通常是多数,您可以获得高效的处理.

此外,Nginx性能对于“慢客户端”来说更好.当您有Apache直视互联网,并且客户端发送请求(拥塞)线路时,您的(快速)服务器将不得不耐心地馈送(慢)客户端,等待它消耗整个响应.因此,Apache小孩(或线程)无法做任何有用的事情.另一方面,Nginx工作者只需将这个缓慢的连接保存在epoll集合的描述符中,同时处理其他连接.

从概念的角度来看,您应该始终尝试将请求的“类”与自己的性能配置文件和要求分开.例如,提供小型静态文件是其中之一;服务动态页面是另一个类;服务巨大的静态文件是另一个.向你的系统介绍Nginx隐含地处理这种分离.

原文链接:https://www.f2er.com/nginx/434653.html

猜你在找的Nginx相关文章