1. Infocode上海蓝畅信息技术有限公司首页
  2. 技术分享

Apache和Nginx选哪个哪个好,服务器该用Nginx还是Apache?

有很多人都在说Nginx比Apache好、比Apache快的这类说法,因为大家对apache和nginx选哪个的概念也比较模糊,什么情况下选Nginx,什么情况下选Apache ,今天我们来聊下这个问题

服务器该用Nginx还是Apache?
服务器该用Nginx还是Apache?

Apache是什么?

 

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。

 

Apache 的特性有哪些:

 

1、支持最新的HTTP/1.1通信协议

2、拥有简单而强有力的基于文件的配置过程

3、支持通用网关接口

4、支持基于IP和基于域名的虚拟主机

5、支持多种方式的HTTP认证

6、集成Perl处理模块

7、集成代理服务器模块

8、支持实时监视服务器状态和定制服务器日志

9、支持服务器端包含指令(SSI)

10、支持安全Socket层(SSL)

11、提供用户会话过程的跟踪

12、支持FastCGI

13、通过第三方模块可以支持JavaServlets

apache和nginx选哪个好?
apache和nginx选哪个好?

Nginx是什么?

Nginx是一个来自俄罗斯的流行的Web应用服务器,它被应用于大量的俄罗斯的高并发站点,俄罗斯的搜索引擎网站Rambler就是基于Nginx构建的。Nginx对静态页面的支持相当出色,轻量且免费。Nginx不支持CGI,但是支持更灵活的FastCGI。PHP5.2及之前的版本比较多的是使用PHP-FPM来管理PHP FastCGI进程。PHP-FPM使用给PHP源码打补丁后编译的方式让新手多少有些难上手,但从PHP 5.3.2开始内置PHP-FPM,只需编译PHP时启用PHP-FPM。

Nginx的特性有哪些:

 

1、处理静态文件,索引文件以及自动索引;打开文件描述符缓冲

2、无缓存的反向代理加速,简单的负载均衡和容错

3、FastCGI,简单的负载均衡和容错

4、模块化的结构。包括gzipping, byte ranges, chunked responses, 以及 SSI-filter等filter。如果由FastCGI或其它代理服务器处理单页中存在的多个SSI,则这项处理可以并行运行,而不需要相互等待

5、支持SSL 和 TLS SNI

Nginx专为性能优化而开发,性能是其最重要的考量, 实现上非常注重效率 。它支持内核Poll模型,能经受高负载的考验, 有报告表明能支持高达 50,000 个并发连接数。

 

nginx 相对 apache 的优点

 

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

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

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

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

5、 nginx处理静态文件好,耗费内存少

6、 Nginx 配置简洁, Apache 复杂

 

apache 相对nginx 的优点

 

1、 rewrite方面比nginx 的rewrite 强大

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

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

4、 比较稳定

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

6、Apache 的组件比 Nginx 多

 

总结:服务器该用Nginx还是Apache?

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

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

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

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

4、最核心的区别在于apache是同步多进程模型,一个连接对应一个进程;nginx是异步的,多个连接(万级别)可以对应一个进程。

apache运行php比较好,适合跑动态,nginx比较适合跑静态。现在流行的lanmp架构就是同时使用apache和nginx,静态网页有nginx处理,动态交由apache处理,这样就能更大限度的发挥服务器性能。

 

更多有关服务器部署的资讯,请联系蓝畅客服

本文来自网络 由蓝畅整理,经授权后发布,本文观点不代表Infocode上海蓝畅信息技术有限公司立场,转载请联系原作者。

发表评论

电子邮件地址不会被公开。 必填项已用*标注