Linux----------nginx和Apache的比较
目录
一、nginxnginx:是一个高性能的 HTTP 和 反向代理 服务器,也是一个代理服务器。 C语言编写,内存少,并发能力强(静态文件并发5w/s) 反向代理能力强(可用于负载均衡) 内存和CPU占用率低(为apache1/5-1/10) 对后端服务有健康检查功能 相对来说配置简单 支持Rewrite设写 启动特别容易,并且几乎可以做到 7*24 不间断运行,即使运行数个月也不需要重新启动,还能够不间断服务的情况下进行软件版本的升级 社区活跃,各种高性能模块出品迅速 二、ApacheApache: apache 发展到现在,模块超多,基本想到的都可以找到 apache 更为成熟,少 bug ,nginx 的 bug 相对较多 apache 超稳定 apache 对 PHP 支持比较简单,nginx 需要配合其他后端用 apache 在处理动态请求有优势,nginx 在这方面是鸡肋,一般动态请求要 apache 去做,nginx 适合静态和反向。 apache 仍然是目前的主流,拥有丰富的特性,成熟的技术和开发社区 select 同步阻塞 三、区别两者最核心的区别在于 apache 是同步多进程模型,一个连接对应一个进程,而 nginx 是异步的,多个连接(万级别)可以对应一个进程 一般来说,需要性能的 web 服务,用 nginx 。如果不需要性能只求稳定,更考虑 apache ,后者的各种功能模块实现得比前者,例如 ssl 的模块就比前者好,可配置项多。epoll(freebsd 上是 kqueue ) 网络 IO 模型是 nginx 处理性能高的根本理由,但并不是所有的情况下都是 epoll 大获全胜的,如果本身提供静态服务的就只有寥寥几个文件,apache 的 select 模型或许比 epoll 更高性能。当然,这只是根据网络 IO 模型的原理作的一个假设,真正的应用还是需要实测了再说的。 更为通用的方案是,前端 nginx 抗并发,后端 apache 集群,配合起来会更好。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |