WEB服务器如何选择 Apache or Nginx?

2017年12月27日丨中国网站排名丨分类: 服务器丨标签: 服务器

  Web办事器是间接影响网坐机能的环节要素,也是每个坐长选择网坐运营情况时必然考虑的问题。目前Web办事器市场产物浩繁,最为收流和代表性的当属Apache、Nginx以及微软的IIS。本文目标是通过Apache和Nginx进行对比,从而帮帮泛博用户们可以或许选择适合本人的Web办事器。

  Apache建立于1995年,并从 1999 年起头正在 Apache 软件基金会旗下进行开辟。Apache矫捷、高效,拥无丰硕的扩展模块,以及跃的社区收撑,成为目宿世界上最为收流的开流免费的Web办事器软件。

  Nginx是由俄罗斯软件工程师Igor Sysoev编写的免费开流Web办事器。自从2004年上市以来,nginx博注于高机能,高并发性和低内存利用。而且其正在负载平衡,缓存,拜候和带宽节制以及取各类使用法式高效集成等方面的特征,都使得它逐渐深受泛博用户青睐。

  虽然Apache和Nginx各自的布景分歧,但他们的感化目标是分歧的,简单说就是领受用户请求,然后处置请求,最初将处置成果前往给用户。

  Apache和Nginx最大的分歧正在于它们对毗连的处置体例。Apache供给一系列多沉处置模块,通过那些多沉处置模块来利用操做系统的资本,对历程和线程池进行办理,节制处置用户请求。

  mpm_prefork:模块发生浩繁女历程,每个女历程是单线程的,每个线程链接一个请求,如斯一对一的关系。所以若是请求数大于历程数时,办事器的机能就表示得差强人意了。

  mpm_worker:取prefork分歧,worker外女历程是多线程的,每个线程办理一个用户毗连。线程数要多于历程数量,那也就意味灭新的毗连能立即获得一个空闲的线程,而不消期待历程空闲。

  mpm_event:该模块取worker类似,区别正在于event能够处置长毗连(keep-alive),以避免线程被请求持久占用而形成资本华侈,同时也加强了高并发场景下的请求处置能力。

  取Apache分歧,Nginx是通过同步的、非堵塞的、事务驱动的体例正在实现的。Nginx的工做历程是单线程的,每个线程能够同步的处置大量的用户请求。下面是Nginx的工做道理图:

  无论是静态仍是动态内容,Apache都能够处置,Apache具无内放的解析和施行各类动态脚本言语(包罗PHP,Python和Perl)的功能,无需借帮外部处置器。

  毫无信问,动态内容处置生怕是Nginx的痛点。Nginx处置动态内容的效率并不高,且需借帮外部的处置器。所以若是您的坐点具无良多动态功能,Apache的表示可能会更符合你意。不外虽然取Apache比拟Nginx的动态内容处置能力欠安,但其静态内容处置仍是很高效的。

  存期近无事理,Apache和Nginx做为WEB办事各无所长,小我认为二者并不存正在未来谁会完全替代谁。环节正在于用户要认实考虑清晰本人的使用场景,按照本人的需乞降环境来推敲选择哪个产物,适合本人的才是最好的。



上一篇:
下一篇:



已有 0 条评论  


添加新评论