Apache和Nginx
Posted 獭獭笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache和Nginx相关的知识,希望对你有一定的参考价值。
NO.1
Apache和nginx各有什么优缺点
Apache的优缺点:
优点:Apache的rewrite功能比Nginx的要强大
模块非常多,基本想要的功能都能找到模块
存在时间较长,文献较全,bug也相对较少
动静态解析都超稳定
缺点:
由于工作模式是同步阻塞型,导致资源消耗较高,并发能力较差
Nginx的优缺点:
优点:轻量级服务,比Apache占用更少的内存及资源
并发能力强,Nginx处理请求是异步非阻塞的,而Apache则是阻塞型的,在高并发下Nginx能保持低资源低消耗高性能
高度模块化的设计,编写模块相对简单
社区活跃,各种高性能模块产生迅速
缺点:动态处理上需要使用fastcgi连接php的FPM服务,相比Apache不占优势
NO.2
Apache和Nginx的选择:
Nginx适合做静态处理,简单,效率高
Apache适合做动态处理,稳定,功能强,并发较高的情况下优先选择Nginx,并发要求不高的情况下两者都可以,规模稍大的可以使用Nginx作为反向代理,然后将动态请求负载均衡到后端Apache上。
NO.3
为什么Nginx的并发能力强,资源消耗低?
同步异步:
同步:小明收到快递将送达的短信,在楼下一直等到快递送达。
阻塞和非阻塞:
阻塞:小明收到快递即将送达的信息后,什么事都不做,一直专门等快递。
非阻塞:小明收到快递即将送达的信息后,等快递的时候,还一边敲代码,一边听歌,等着快递送达的信息。
Nginx以异步非阻塞方式工作:
客户端发送request,服务器分配work进程来处理
能立即处理完的,处理后work进程释放资源,进行下一个request的处理
不能立即处理完的work进程注册返回事件,然后接着去处理其他request
当之前的request结果返回后,触发返回事件,由空闲work进程接着处理通过这种快速处理,快速释放请求的方式,达到同样的配置可以处理更大并发量的目的。
以上是关于Apache和Nginx的主要内容,如果未能解决你的问题,请参考以下文章