phpStudy V8 使用手册 / Nginx与Apache区别

Nginx与Apache区别

一般情况下, 动态请求要 apache 去做, 而 nginx 更适合用来做静态和反向访问


Nginx

  • 轻量级,采用C 语言进行编写的 web 服务器程序, 占用更少的内存, 消耗更少的资源

  • 抗并发性非常好, nginx是采用异步非阻塞的方式,来处理用户的Web请求, 负载能力比apache服务器高很多

  • 而apache则是阻塞型的, 请求与响应是通常是一一对应的

  • 在高并发的场景下, nginx 依然能保持低资源低消耗高性能, 而 apache 很容易出现进程数飙升, 从而导致请求被服务器拒绝的现象发生

  • nginx 处理静态资源的能力相当强, 他的静态处理性能比 apache 高三倍以上,非常适合做前端服务器

  • nginx 的设计高度模块化,编写模块相对简单

  • nginx 配置简洁, 特别是正则配置让很多事情变得简单, 相对而言, apache 配置要复杂得多

  • nginx 作为负载均衡服务器,支持 7 层负载均衡

  • nginx 本身就是一个反向代理服务器, 而且可以作为非常优秀的邮件代理服务器

  • nginx启动特别容易, 并且几乎可以做到 全天候,24小时不间断运行, 即使运行数个月也不需要重新启动, 并支持在停机状态下进行升级

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

Apache

  • apache 的 rewrite(URL重写功能) 比 nginx 强大,在 rewrite 频繁的情况下, 用 apache

  • apache 发展到现在,模块超多,基本想到的都可以找到

  • apache 更为成熟,少 bug, nginx 的 bug 相对较多, 所 apache 超级稳定

  • apache 对 PHP 支持非常友好, 并且配置也比较简单, nginx 需要配合其他后端用

  • apache 在处理动态请求有优势, nginx 就相形见拙了

  • apache 的开发社区非常的活跃, 基本上你遇到所有问题, 都会找到满意的解答

总结

如果你主要是使用PHP做为主力开发语言,那么Apache一定不会让你失望

apache 仍然是目前的主流, 拥有丰富的特性成熟的技术

推荐, 一般情况下, 动态请求要 apache 去做, 而 nginx 更适合用来做静态和反向访问