Apache和Nginx的详细介绍与对比分析

 2018-12-22 00:32:13   {{zan}}   1   255 

Apache和Nginx的详细介绍与对比分析

本文主要分为四个部分:

        1. Apache和Nginx的区别;

        2. Apache相对Nginx的优点;

        3. Nginx相对Apache的优点;  

        4. Web服务器的首选是谁。

1. Apache和Nginx的区别

        1、二者最核心的区别在于 Apache  是同步多进程模型,一个连接对应一个进程; Nginx  是异步的,多个连接(万级别)可以对应一个进程 。 Nginx  处理静态文件好,耗费内存少。但无疑 Apache  仍然是目前的主流,有很多丰富的特性,所以还需要搭配着来。当然如果能确定Nginx  就适合需求,那么使用 Nginx  会是更经济的方式。

        2、Nginx  的负载能力比 Apache  高很多。最新的服务器也改用nginx了。而且 Nginx  改完配置能测试一下配置有没有问题。

        3、Apache  重启的时候发现配置出错了,会很崩溃,改的时候都会非常小心翼翼现在看有好多集群站,前端 Nginx  抗并发,后端 Apache集群, 配合的也不错。

        4、一般动态请求要 Apache  去做, Nginx  只适合静态和反向

        5、从经验来看, Nginx  是很不错的前端服务器,负载性能很好, Nginx  ,用webbench模拟10000个静态文件请求毫不吃力。  Apache  对PHP等语言的支持很好,此外 Apache  有强大的支持网络,发展时间相对 Nginx  更久,bug少但是 Apache  有先天不支持多核心处理负载的缺点,建议使用 Nginx  做前端,后端用 Apache  。大型网站建议用 Nginx  自代的集群功能。

        6、大部分情况下 Nginx  都优于 Apache  ,比如说静态文件处理、PHP-CGI的支持、反向代理功能、前端 Cache、维持连接等等。在Apache+PHP(prefork)模式下,如果PHP处理慢或者前端压力很大的情况下,很容易出现 Apache  进程数飙升,从而拒绝服务的现象。

        7、 Apache 在处理动态有优势, Nginx 并发性比较好,CPU内存占用低,如果rewrite频繁,那还是 Apache 吧!   

        8、 一般来说,需要性能的web 服务,用 Nginx  。如果不需要性能只求稳定,那就 Apache  吧。 

2.  Nginx相对Apache的优点  

        1、rewrite ,比 Nginx  的rewrite强大 ;

        2、模块超多,基本想到的都可以找到 ;

        3、少bug , Nginx  的 bug 相对较多 ;

        4、超稳定 ,Aapche 依然是大部分公司的首先,因为其成熟的技术和开发社区已经也是非常不错的性能。  

3. Apache相对Nginx的优点

        1、轻量级,同样web 服务,比 Apache 占用更少的内存及资源 ;

        2、抗并发, Nginx  处理请求是异步非阻塞的,而 Apache  则是阻塞型的,在高并发下 Nginx  能保持低资源低消耗高性能 ;

        3、高度模块化的设计,编写模块相对简单 ;

        4、社区活跃,各种高性能模块出品迅速啊 ;

        5、Nginx  本身就是一个反向代理服务器 , Nginx  支持7层负载均衡; Nginx  可能会比 Apache  支持更高的并发,

        6、Nginx  配置文件写的很简洁,正则配置让很多事情变得简单运行效率高,占用资源少,代理功能强大,很适合做前端响应服务器 !  

        7、Nginx  静态处理性能比 Apache 高三倍以上。

4. Web服务器的首选是谁:Nginx 

        1、作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。在高连接并发的情况下, Nginx  是Apache服务器不错的替代品: Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达 50000 个并发连接数的响应, 感谢 Nginx 为我们选择了 epoll and kqueue 作为开发模型。

        2、Nginx 作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务, 也可以支持作为 HTTP代理服务器对外进行服务。 Nginx 采用C进行编写,不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多。

        3、作为邮件代理服务器: Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器), Last.fm 描述了成功并且美妙的使用经验。

        4、Nginx 是一个安装非常的简单 , 配置文件非常简洁(还能够支持perl语法), Bugs 非常少的服务器:Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级 。

        5、Nginx 配置简洁, Apache 复杂,Nginx 静态处理性能比 Apache 高 3倍以上 ,Apache 对 PHP 支持比较简单,Nginx 需要配合其他后端用,Apache 的组件比 Nginx 多

        所以:现在 Nginx 才是 Web 服务器的首选 。


最后:欢迎指导!
千而の大狮子!

本文链接地址:https://caohongyuan.cn/p?id=71

(邮箱不会公开,只会做回复通知用) 提交 清空 {{comment.content}}
Re:{{response.content}}