前往顾页
以后地位: 主页 > 收集编程 > Php实例教程 >

Apache与Nginx的优错误谬误比较与挑选技能

时候:2018-09-10 23:06来源:知行网www.zhixing123.cn 编辑:麦田守望者

Apache是由伊利诺伊年夜学香槟分校的国度超等电脑利用中间(NCSA)开辟。而后,Apache 被开放源代码个人的成员不竭的生长和加强。目前可以说是世界利用排名第一的Web办事器软件。世界上年夜多数网站仍运行着Apache体系。Nginx是由Igor Sysoev为俄罗斯拜候量第二的Rambler.ru站点开辟的,第一个公开版本0.1.0公布于2004年10月4日。其将源代码以类BSD许可证的情势公布,因它的不变性、丰富的服从集、示例建设文件和低体系资本的耗损而闻名。因为其超卓的机能,Nginx活着界范围内遭到了愈来愈多人的存眷,更是被阿里巴巴旗下的淘宝网外部遍及利用。

418.jpg

明天,陈德馨博客就针对Apache与Nginx的各自的优错误谬误进行比较,让年夜家在Apache与Nginx二者的挑选时有一个比较与阐发。

一、Apache与Nginx的简朴比较

1、Nginx相对Apache的长处 

轻量级,一样web 办事,比apache占用更少的内存及资本 ;

抗并发,nginx 措置请求是异步非梗阻的,而apache 则是梗阻型的,在高并发下Nginx更能保持低资本、低耗损、高机能;

高度模块化的设想,编写模块相对简朴;

社区活泼,各种高机能模块出品敏捷,而Appche在社区活泼度上就相对低迷,这点很像博客法度Z-blog与WordPress;

2、Apache 相对Nginx 的长处

Rewrite比Nginx的Rewrite要强年夜很多;

模块超多,根基想到的都可以找到;

更少Bug,而Nginx的BUG则相对较多。

Apache在不变性在比Nginx要好。

3、Apache与Nginx的详细比较

1、机能与不变性的比较

一般来讲,如果你对Web办事的机能需求年夜于不变性,建议选用Nginx 。反之,如果您对Web办事不变性的需求年夜于机能,那就挑选Apache 。Apache的各种服从模块比Nginx要多要好,比方现在很风行的SSL的模块就比Nginx要好,可建设项也多。

这里要重视一点,epoll(freebsd上是kqueue)模型是Nginx措置机能高的底子来由,但其实不是所有的环境下都是epoll年夜获全胜的,如果本身供应静态办事的就文件相对较少,Apache的select模型或许比epoll更高机能。当然,这只是按照收集IO模型的道理作的一个假定,实在的利用还是需求实测了再说的。

2、不合利用环境的比较

作为Web办事器:比拟Apache,Nginx 利用更少的资本,支撑更多的并发连接,表现更高的效力,这点使Nginx特别遭到假造主机供应商的欢迎。在高连接并发的环境下,Nginx是Apache办事器不错的替代品。在美国Nginx是假造主机办事供应商首选的软件平台之,究竟成果在同等资本下,Nginx可以或许支撑高达 50,000 个并发连接数的呼应,这才给了广年夜假造主机商可以或许在不限定并发连接数有了鼓吹的底气。

作为负载均衡办事器:Nginx既可以在外部直接支撑Rails和PHP法度对外进行办事, 也能够支撑作为HTTP代办代理办事器对外进行办事。 Nginx采取C说话进行编写, 非论是体系资本开消还是CPU利用效力都比Perlbal要好很多。

作为邮件代办代理办事器:Nginx 同时也是一个非常优良的邮件代办代理办事器(最早开辟这个产品的目标之一也是作为邮件代办代理办事器),目前很多着名的企业都采取Nginx作为邮件代办代理办事器。而Apache。我晓得的仿佛只需Apache James,打仗过,没无益用过。

3、建设与扩展性的比较

Nginx建设简练, Apache复杂;

Nginx静态措置机能比Apache高3倍以上;

Apache对PHP支撑比较简朴,Nginx需求共同其他后端用;

Apache 的组件比 Nginx 多;

4、过程模型的比较

Apache与Nginx最核心的辨别在于Apache是同步多过程模型,一个连接对应一个过程;nginx是异步的,多个连接(万级别)可以对应一个过程。在 Apache+PHP(prefork)形式下,如果PHP措置慢或前端压力很年夜的环境下,很容易呈现Apache过程数飙升,从而回绝办事的征象。

5、静态措置上的比较

相对Apache,Nginx措置静态文件好,破钞内存少,在不异的建设投入上,Nginx是更经济的体例。

6、前端与后端的比较

Apache有天赋不支撑多核心措置负载鸡肋的错误谬误,陈德馨博客小我建议利用Nginx做前端,后端用Apache。如果你的是一个年夜型网站的话,可以采取Nginx自代的集群服从。

7、负载与并发的比较

从小我过往的利用环境来看,Nginx的负载才气比Apache高很多。最新的办事器也改用Nginx了。并且Nginx改完建设后可以测试一下建设有没有问题,而Apache重启的时候发明建设出错了,会很崩溃,改的时候都需求非常小心,现在很多多少集群站点采取的计划是:前端Nginx抗并发,后端Apache集群。

8、静态与静态措置的比较

Nginx措置静态请求是鸡肋,一般静态请求要Apache去做,Nginx更适合静态和反向。

经由过程以上针对Apache与Nginx的优错误谬误比较,信赖您对是挑选Apache还是挑选Nginx已有了必然比较明白的标的目标了。

------分开线----------------------------
标签(Tag):Apache Nginx
------分开线----------------------------
保举内容
猜你感兴趣