Apache:同步多进程模型,阻塞型
nginx:异步非阻塞,多个连接可对应一个进程
nginx
轻量级,占用内存及资源少。
抗并发,处理请求是异步非阻塞的,负载能力比apache高很多,apache是阻塞型。高并发下nginx能保持低资源低消耗高性能,apache在php处理慢或者前端压力很大的情况下,容易出现进程数飙升,拒绝服务的现象。
nginx处理静态文件比apache高很多,apache处理动态请求高
支持高并发连接,每秒最多的并发连接请求理论可以达到50000个
用线程处理用户请求,而线程是共享内存的,只需要开启少量进程,多个线程就可以共享进程的内存,占用内存小
缺点一个进程死掉时,会影响到多个用户的使用,稳定性差
nginx本身就是一个反向代理服务器,而且可以作为非常优秀的邮件代理服务器
Apache
查询同步阻塞
一个连接对应一个进程
用进程处理用户请求
用户请求过多时,开启进程较多,占用内存大,每秒最多的并发连接请求最多不超过3000个
一个进程死掉时,不会影响其他的用户
apache的rewrite比nginx强大,在rewrite频繁的情况下,用apache
apache超稳定,更为成熟,少bug,nginx的bug相对较多
apache在处理动态请求有优势,一般动态请求要apache去做,nginx适合静态和反向
选择上
apache是同步多进程模型,一个连接对应一个进程,而nginx是异步的,多个连接(万级别)可以对应一个进程。一般来说,需要性能的web服务,用nginx。如果不需要性能只求稳定,更考虑apache,apache的各种功能模块实现比nginx好
nginx配置的6中负载均衡http://https://blog.csdn.net/qq_34825514/article/details/124311144