Web服务器的基本功能:基于REST架构风格,以同一资源描述符(URI)或者同一资源定位符(URL)作为沟通依据,通过HTTP为浏览器等客户端程序提供各种网络服务。 Apache的缺点:如果有数以万计的并发HTTP请求同时访问,就会导致服务器上消耗大量内存,操作系统内核堆成百上千的apache进程做进程间切换也会消耗大量CPU资源,并导致HTTP请求的平均响应速度降低。 Nginx是轻量级的、高性能Web服务器。 Nginx是一个跨平台的Web服务器,并且它还可以使用当前操作系统特有的一些高效API来提供自己的性能。 Nginx支持Linux上的epoll。 Nginx先 天的事件驱动型设计、全异步的网络I/O处理机制、极少的进程间切换以及许多优秀设计,都使得Nginx天生善于处理高并发压力下的互联网请求。 在Linux上,Nginx支持其独有的sendfile系统调用,这个系统调用可以高效的把硬盘中的数据发送到网络上(不需要先把硬盘数据复制到用户态内存上再发送)这个极大减少了内核态与用户态数据间的复制动作。   为什么选择Nginx?
  • 更快
一方面单次请求会得到更快的响应 另一方面在高分期nginx也比其他web服务器更快的响应请求。
  • 高扩展性
Nginx的设计极具扩展性,它完成是有多个不同功能、不同层次、不同类型且耦合度极低的模块组成。
  • 高可靠性
Nginx的高可靠性来自于其核心框架代码的优秀设计、模块设计简单; 另外,官方提供的常用模块都非常稳定,每个worker进程相对独立,master进程在1个worker进程出错时可以选择拉起新的worker子进程提供服务。
  • 低内存消耗
一般情况下,10000个非活跃的http keep-alive连接在nginx中仅消耗2.5M的内存,这是nginx支持高并发连接的基础。
  • 单机支持10万以上的并发连接
nginx支持的高并发连接上限取决于内存。
  • 热部署
master管理进程与worker工作进程的分离设计,使得nginx能够提供热部署功能,即可以在7*24小时不间断服务的前提下,升级nginx的可执行文件。
  • 最自由的BSD许可协议
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄