Nginx学习

背景介绍

什么是nginx

nginx是由俄罗斯人开发的一个HTTP服务器,发音:engine X ,是一个高性能的http和反向代理,负载均衡服务器。业界一致认为是apache + mod_proxy_balancer 轻量级替代者,它不仅相应静态页面的速度很快,而且它的模块数量达到apache的2/3。 对proxy和rewrite 模块的支持很彻底。

特点

专为性能优化而生,支持内核poll模型,能经受住高负载,50000个并发连接数不成问题。nginx采取了分阶段资源分配技术,使得其对内存和cpu的占用率很低,保持10000个无活动连接只占用2.5M内存。反观apache,一般200个进程以上,web响应速度就明显缓慢了。支持热部署,可以不停止服务升级nginx版本。nginx采用了master-slave模型,能充分利用SMP的优势,能减小工作时的I/O延迟

  • SMP架构* 两个或多个同样的处理器通过一块共享内存彼此连接。每个处理器可以同等地访问共享内存(具有相同的内存空间访问延迟)。

nginx架构

图片发自App

1个master进程+多个worker进程

  • msater进程:管理worker进程,接收来自外界的信号,向各个worker进程发送信号,监控worker进程的状态,当某个worker异常退出后,master进程会重新启动一个新的worker进程来接替。
  • worker进程:处理基本的网络事件,每个worker平等竞争来自客户端的请求,各个worker相互独立,一个请求只能在一个worker中处理,不能处理其他进程的请求,worker进程数量可以设定,一般设为cpu的核心数。

你可能感兴趣的:(Nginx学习)