14
2022
07

apache和nginx区别

Apache:同步多进程模型,阻塞型
nginx:异步非阻塞,多个连接可对应一个进程

nginx

  1. 轻量级,占用内存及资源少。

  2. 抗并发,处理请求是异步非阻塞的,负载能力比apache高很多,apache是阻塞型。高并发下nginx能保持低资源低消耗高性能,apache在php处理慢或者前端压力很大的情况下,容易出现进程数飙升,拒绝服务的现象。 

  3. nginx处理静态文件比apache高很多,apache处理动态请求高

  4. 支持高并发连接,每秒最多的并发连接请求理论可以达到50000个

  5. 用线程处理用户请求,而线程是共享内存的,只需要开启少量进程,多个线程就可以共享进程的内存,占用内存小

  6. 缺点一个进程死掉时,会影响到多个用户的使用,稳定性差

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

Apache

  1. 查询同步阻塞

  2. 一个连接对应一个进程

  3. 用进程处理用户请求

  4. 用户请求过多时,开启进程较多,占用内存大,每秒最多的并发连接请求最多不超过3000个

  5. 一个进程死掉时,不会影响其他的用户

  6. apache的rewrite比nginx强大,在rewrite频繁的情况下,用apache

  7. apache超稳定,更为成熟,少bug,nginx的bug相对较多

  8. apache在处理动态请求有优势,一般动态请求要apache去做,nginx适合静态和反向

选择上

    apache是同步多进程模型,一个连接对应一个进程,而nginx是异步的,多个连接(万级别)可以对应一个进程。一般来说,需要性能的web服务,用nginx。如果不需要性能只求稳定,更考虑apache,apache的各种功能模块实现比nginx好


nginx配置的6中负载均衡http://https://blog.csdn.net/qq_34825514/article/details/124311144


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。