最近很多小伙伴来问我Nginx和apache的区别,这个问题用喋喋不休也很难解释,于是整顿出了这一篇文章与大家共享。除了Nginx和apache的区别,还比拟了各自的优缺点。这是我自学Nginx和工作教训所得,心愿能对大家有帮忙。

  定义

  Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页,它是一个模块化的服务器,能够运行在简直所有宽泛应用的计算机平台上。其属于应用服务器。

  Apache反对模块多,性能稳固,Apache自身是动态解析,适宜动态HTML、图片等,但能够通过扩大脚本、模块等反对动静页面等。

  Nginx是俄罗斯人编写的非常轻量级的HTTP服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器。其特点是占有内存少,并发能力强,易于开发,部署不便。Nginx 反对多语言通用服务器。
  
  Nginx和apache的区别

  Apache是同步多过程模型,一个连贯对应一个过程,而Nginx是异步的,多个连贯(万级别)能够对应一个过程。

  Nginx轻量级,抗并发,解决动态文件好。

  Apache超稳定,对PHP反对比较简单,Nginx须要配合其余后端用,解决动静申请有劣势,倡议应用前端Nginx抗并发,后端apache集群,配合起来会更好。

   两者优缺点比拟

  1.Nginx 配置简洁, Apache 简单 ;Nginx 动态解决性能比 Apache 高 3倍以上 ;

  2.Apache 对 PHP 反对比较简单,Nginx 须要配合其余后端用;Apache 的组件比 Nginx 多 ;

  3.apache是同步多过程模型,一个连贯对应一个过程;Nginx是异步的,多个连贯(万级别)能够对应一个过程;

  4.Nginx解决动态文件好,消耗内存少;动静申请由apache去做,Nginx只适宜动态和反向;

  5.Nginx适宜做前端服务器,负载性能很好;Nginx自身就是一个反向代理服务器 ,且反对负载平衡。

  以上就是Nginx和apache的区别及优缺点比拟,可能是还不够全面。总的来说,Nginx负载平衡、反向代理、解决动态文件劣势。Nginx解决动态申请的速度高于apache,同时并发性比拟好,CPU内存占用低,因而能够应答千万级别的网络申请。