Apache和Nginx

Posted 獭獭笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache和Nginx相关的知识,希望对你有一定的参考价值。


NO.1

Apachenginx各有什么优缺点


Apache的优缺点:Apache和Nginx

优点:Apacherewrite功能比Nginx的要强大

模块非常多,基本想要的功能都能找到模块

存在时间较长,文献较全,bug也相对较少

动静态解析都超稳定

缺点:

由于工作模式是同步阻塞型,导致资源消耗较高,并发能力较差


Nginx的优缺点:Apache和Nginx

优点:轻量级服务,比Apache占用更少的内存及资源

并发能力强,Nginx处理请求是异步非阻塞的,而Apache则是阻塞型的,在高并发下Nginx能保持低资源低消耗高性能

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

社区活跃,各种高性能模块产生迅速

 缺点:动态处理上需要使用fastcgi连接phpFPM服务,相比Apache不占优势


NO.2

Apache和Nginx的选择:


Nginx适合做静态处理,简单,效率高


Apache适合做动态处理,稳定,功能强,并发较高的情况下优先选择Nginx,并发要求不高的情况下两者都可以,规模稍大的可以使用Nginx作为反向代理,然后将动态请求负载均衡到后端Apache上。


NO.3

为什么Nginx的并发能力强,资源消耗低?

同步异步:Apache和Nginx

同步:小明收到快递将送达的短信,在楼下一直等到快递送达。

阻塞和非阻塞:

阻塞:小明收到快递即将送达的信息后,什么事都不做,一直专门等快递。

非阻塞:小明收到快递即将送达的信息后,等快递的时候,还一边敲代码,一边听歌,等着快递送达的信息。

Nginx以异步非阻塞方式工作:

客户端发送request,服务器分配work进程来处理

能立即处理完的,处理后work进程释放资源,进行下一个request的处理

不能立即处理完的work进程注册返回事件,然后接着去处理其他request

当之前的request结果返回后,触发返回事件,由空闲work进程接着处理通过这种快速处理,快速释放请求的方式,达到同样的配置可以处理更大并发量的目的。




以上是关于Apache和Nginx的主要内容,如果未能解决你的问题,请参考以下文章

NginxApache解析php文件的区别

NginxApache2修改默认端口号

http服务(nginxapache)停用不安全的SSL协议TLS1.0和TLS1.1协议/启用TLS1.3

[转自SA]浅谈nginx的工作原理和使用

nginxapache禁止未绑定域名禁止IP地址访问

Linux PHP的运行模式