nginx - 学习脑图

nginx - 学习脑图

高性能的静态web服务器
反向代理(负载均衡)

nginx 为什么适应高并发:
一个进程处理多个请求
非阻塞式的

nginx - 学习脑图
对请求结果缓存

优势特点:
高并发,高性能
扩展性好
异步非租塞的事件驱动模型
高可靠性
热部署,平滑升级

nginx - 学习脑图
进行nginx 二次开发,尽可能减少修改 masterprocess,而是修改第三方模块,行业规定也是不开发masterProcess

materProcess 不真正处理用户请求,而是进行管理 和监控,如下第三方模块
子模块down掉了,masterprocess,会重启一个子模块, linux 里面子进程会发送信号
配置文件修改,加了路由,热重启后,materProcess 检测到修改后,会自动通知work Process,靠这种结构,才可以进行平滑升级

真正缓存哪些内容,由workProcess进行处理,cacahLoader 负责加载缓存,cacah Manager 负责管理缓存
所有子进程 通信,使用共享内存。

linux 信号量管理机制:
对于进程管理是使用信号量管理的
nginx - 学习脑图
nginx - 学习脑图
父子进程信号量, 子进程down ,迫使向 父进程发送信号量
了解不深
进程优雅退出
进程直接退出
关机的时候,向应用程序,先发15 ,到等待时间不完成,发送9
signup 迫使进程重新读取配置文件
用户自定义信号量

使用信号量管理master 和worker
nginx - 学习脑图
不推荐 直接向worker进程 发送信号量, 而是有mater进程发送信号量,对worker进程进行管理

nginx - 学习脑图
term int 直接关闭
quit 平滑关闭
hup 接受hup信号,重读配置文件,之后可能改变nginx某些行为,重新kill调worker进程,打开新的worker进程
usr1
usr2
winch

nginx - 学习脑图

nginx - 学习脑图
相当于给 mater进程发送 命令,

nginx - 学习脑图
nginx 采用事件驱动模型,事件处理机制,对于这个模型,会要求,worker进程尽量和CPU的个数绑定在一块,从而尽可能减少CPU的切换,提高CPU 缓存切换 命中效率,这个是nginx的初衷,所以,cpu有多少课,就启动多少worker进程。

nginx - 学习脑图
这个是nginx 主二进制配置文件
nginx - 学习脑图
master 进程接受信号量
nginx - 学习脑图
nginx - 学习脑图

对worker进程进行演示
nginx - 学习脑图

nginx - 学习脑图
二进制文件 操作nginx 其实也是对信号量进行操作
nginx - 学习脑图

配置文件重载的原理真相
nginx - 学习脑图
nginx - 学习脑图
nginx - 学习脑图

nginx 的热升级(nginx 升级新版本)
nginx - 学习脑图
nginx - 学习脑图
winch信号 导致 旧的worker 子进程退出,master 不退出
nginx - 学习脑图
nginx - 学习脑图

nginx - 学习脑图
热升级,首先要保证目录结构一致,
还可以使用命令行,查看参数和 版本
nginx - 学习脑图
nginx - 学习脑图

nginx - 学习脑图

nginx - 学习脑图

nginx - 学习脑图
nginx - 学习脑图
nginx - 学习脑图
nginx - 学习脑图
nginx - 学习脑图

nginx 的模块化管理机制
nginx - 学习脑图
核心模块 ,是运行必备模块
ssl 对https
gzip 对相应报文时候,进行压缩
nginx - 学习脑图

nginx 配置安装的配置参数
nginx - 学习脑图
–prefix 配置主目录

nginx - 学习脑图
nginx - 学习脑图
nginx - 学习脑图
nginx - 学习脑图
在安装过程中,由于新增 模块,缺少什么依赖包,使用相应的依赖包

nginx 配置文件使用
nginx - 学习脑图
nginx - 学习脑图
nginx - 学习脑图
代表一个work 子进程 里面可以最多可以处理并发请求数量,需要根据测试环境后,调整

虚拟主机的分类: 其实就是利用单台主机,构建多个不同类型的网站
nginx - 学习脑图
在单台服务器上,安装多块网卡,每块网卡上配置公网IP地址
nginx - 学习脑图
网卡只有一块, 但是不同端口提供不同服务
nginx - 学习脑图
监听各个网卡上IP的8080端口,(该机器上有三块网卡)

一台物理主机上,使用不同域名,区别不同服务,两个域名绑定一个公网IP

配置文件main断核心参数用法
nginx - 学习脑图