apache与nginx的优缺点比较

跟風遠走 提交于 2019-12-04 22:09:58
本文只是整理了一些apache和nginx的优缺点或性能的比较
nginx 相对 apache 的优点:
  1 、轻量级,同样起web 服务,比apache 占用更少的内存及资源抗并发,
  2 、nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,
  3 、在高并发下nginx 能保持低资源低消耗高性能高度模块化的设计,编写模块相对简单
  4 、社区活跃,各种高性能模块出品迅速

apache 相对nginx 的优点:
  1 、rewrite ,比nginx 的rewrite 强大
  2 、模块超多,基本想到的都可以找到
  3 、少bug ,nginx 的bug 相对较多
  4 、超稳定

接下来再补充一些详细的知识:
   1、作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。在高连接并发的情况下,Nginx是Apache服务器不错的替代品: Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一. 能够支持高达 50000 个并发连接数的响应, 感谢Nginx为我们选择了 epoll and kqueue 作为开发模型.
Nginx作为负载均衡服务器: Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务, 也可以支持作为 HTTP代理 服务器对外进行服务. Nginx采用C进行编写, 不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多.
   2、Nginx 配置简洁, Apache 复杂 ,Nginx 启动特别容易, 并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动. 你还能够不间断服务的情况下进行软件版本的升级 . Nginx 静态处理性能比 Apache 高 3倍以上 ,Apache 对 PHP 支持比较简单,Nginx 需要配合其他后端来使用 ,Apache 的组件比 Nginx 多.
   3、最核心的区别在于apache是同步多进程模型,一个连接对应一个进程;nginx是异步的,多个连接(万级别)可以对应一个进程 .
   4、nginx的优势是处理静态请求,cpu内存使用率低,apache适合处理动态请求,所以现在一般前端用nginx作为反向代理抗住压力,apache作为后端处理动态请求。
   5 、Nginx本身就是一个反向代理服务器 ,Nginx支持7层负载均衡,Nginx可能会比apache支持更高的并发
备注:想了解nginx为什么比apache高效可以看看这篇文章Nginx为什么比Apache Httpd高效:原理篇



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!