Nginx和Apache环境「优缺点」对比

博主 272 0

在搭建zblog个人博客的时候,尤其在云服务器里,宝塔面板会提示安装环境软件。宝塔面板有2个选择一个是Nginx一个是Apache。给的默认推荐是Nginx。一般多数都是选择默认安装,也有选择Apache的。像博主我就是选择的Apache,主要是之前用Apache习惯了。那么这2者到底有什么区别?优缺点有哪些?怎么选更好?

Nginx介绍

Nginx和Apache环境「优缺点」对比

Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。

Nginx的优点:

1、更快:单次请求会得到更快的响应;并发请求也会更快地响应请求。

2、高扩展性:完全由多个不同功能、不同层次、不同类型且耦合度极低的模块组成,当对某一模块修复bug或者升级时,可以专注于模块自身。Nginx的模块都是嵌入到二级制文件中执行的,这使得第三方模块一样具备极其优秀的性能。

3、高可靠性:核心框架代码的优秀设计、模块设计的简单性,官方提供的常用模块都非常稳定,每个worker进程相对独立,master进程在1个worker进程出错时可以快速“拉起”新的worker子进程提供服务。

4、低内存消耗:一般情况下,10000个非活跃的HTTP Keep-Alive连接在Nginx中仅消耗2.5MB的内存,这是Nginx支持高并发连接的基础。

5、单机支持10万以上的并发连接。

6、热部署:master管理进程与worker工作进程的分离设计,使得Nginx能够提供热部署功能,可以在7*24小时不间断服务的前提下,升级Nginx的可执行文件,也支持不停止服务就更新配置项、更换日志文件等功能。

7、最自由的BSD许可协议:BSD许可协议不只是允许用户免费使用Nginx,它还允许用户在自己的项目中直接使用或修改Nginx源码,然后发布。

Apache介绍

Nginx和Apache环境「优缺点」对比

Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。

Apache优点

1、rewrite,比nginx 的rewrite 强大。

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

3、少bug,nginx的bug相对较多。

4、运行超稳定。

5、Apache对PHP支持比较简单,Nginx需要配合其他后端用。

6、Apache在处理动态有优势。

Nginx和Apache对比

1、apache 的rewrite 比nginx 的rewrite 强大 ,模块非常多,基本想到的都可以找到 ,比较稳定,少bug ,nginx 的bug 相对较多 .处理动态文件比Nginx优秀。

2、nginx比Apache处理并发能力强这得益于Nginx使用了最新的epoll(Linux 2.6内核)和kqueue(freebsd)网络I/O模型,而Apache则使用的是传统的select模型。目前Linux下能够承受高并发访问的 Squid、Memcached都采用的是epoll网络I/O模型。 处理大量的连接的读写,Apache所采用的select网络I/O模型非常低效。

3、apache由于nginx守护进程给php-fpm做了,所以非常受限于php-fpm。一个输入参数可能会导致整个程序运行不下去。

4、由于使用module形式加载,导致整个项目比较重。

Nginx和Apache怎么选择?

nginx更适合做静态,简单且效率高,apache更适合做动态,稳定功能强大。

标签: 个人博客

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~