Nginx进程以及事件处理模型
Nginx进程模型
多进程
一个Master进程 多个Worker进程
Master进程
管理Worker进程
对外接口
接收外部的操作(信号)
对内转发
根据外部的操作的不同 通过信号管理Worker
监控
监控worker进程的运行状态worker进程运行异常终止后自动重启worker进程
Worker进程
所有Worker进程都是平等的
实际处理
网络请求,由Worker进程处理
Worker进程数量
在nginx.conf中配置一般设置为核心数充分利用cpu资源同时 避免进程数量过多避免进程竞争CPU资源增加上下文切换的损耗
Master工作过程细节
a、Master启动 加载配置 并初始化监听socket 等待连接进来b、Master fork出Worker进程c、新请求到来时 所有Worker进程的listenfd都变为可读d、Worker进程 竞争accept_mutex 获胜的注册listenfd的读事件e、Worker进程 在读事件中 accept当前连接并处理请求
Nginx 的事件处理模型
多阶段处理请求
举例:1、请求地址重写2、权限验证3、内容处理(对应location配置)4、记录日志
过滤数据并加工
举例:1、过滤response的Header2、gzip压缩数据
Nginx进程以及事件处理模型相关推荐
- nginx优化-nginx事件处理模型优化use epoll;
性能优化-nginx事件处理模型优化use epoll; 在events区块中添加 use epol; 在主配置文件nginx.conf中配置 [root@web01 conf]# cat /appl ...
- Nginx源码学习(一):nginx进程模型解析
nginx进程模型 nginx有两类进程,一类称为master进程(相当于管理进程),另一类称为worker进程(实际工作进程).启动方式有两种: 单进程启动:此时系统中仅有一个进程,该进程既充当ma ...
- nginx进程模型,事件模型
众所周知,nginx性能高,而nginx的高性能与其架构是分不开的.那么nginx究竟是怎么样的呢?这一节我们先来初识一下nginx框架吧. nginx在启动后,在unix系统中会以daemon的方式 ...
- Nginx学习之九-负载均衡(客户端请求与Nginx进程间负载均衡)
本文介绍的负载均衡是针对的客户端请求在多个Nginx进程之间的均衡.注意与客户端请求在多个后端服务器之间的均衡相区别. 负载均衡问题的产生 在nginx中,建立连接的时候,会设计负载均衡问题.在多个子 ...
- Nginx学习之Nginx进程
Nginx学习 Nginx命令 ./nginx:启动Nginx: ./nginx -s stop:关闭Nginx,立即关闭,不管有没有已接受的请求: ./nginx -s reload:重新加载ngi ...
- java事件处理模型_从零开始理解JAVA事件处理机制(3)
我们连续写了两小节的教师-学生的例子,必然觉得无聊死了,这样的例子我们就是玩上100遍,还是不知道该怎么写真实的代码.那从本节开始,我们开始往真实代码上面去靠拢. 事件最容易理解的例子是鼠标事件:我们 ...
- 写了个Python脚本监控nginx进程
写了个Python脚本监控nginx进程 « Xiaoxia[PG] 写了个Python脚本监控nginx进程 接上一文用iptables让SSH服务对陌生人说不.还是有点担心这个学期内,nginx可 ...
- linux 关闭nginx进程,Linux环境下启动、停止、重启nginx
启动 启动代码格式:nginx安装目录地址 -c nginx配置文件地址 例如: [root@LinuxServer sbin]# /usr/local/nginx/sbin/nginx -c /us ...
- 13、Java Swing事件监听:事件处理模型和事件监听器
事件表示程序和用户之间的交互,例如在文本框中输入,在列表框或组合框中选择,选中复选框和单选框,单击按钮等.事件处理表示程序对事件的响应,对用户的交互或者说对事件的处理是事件处理程序完成的. 当事件发生 ...
最新文章
- linux中查看日志技巧,日志查看技巧之筛选[linux命令集][排查篇]
- Level/levelup-2-API
- Java 8中HashMap冲突解决
- caffe linux 教程,CentOS7安装Caffe的教程详解
- 如何避免form提交进行页面跳转
- echo和@echo_如何在Echo Show和Echo Spot上切换到24小时时钟
- 【数据结构与算法】双链表V3.0的Java实现
- vue怎么根据id获取组件_vue子组件,如何根据父组件传进来的id,去查询详情,并在子组件中显示?...
- Range的学习笔记
- zabbix2.4.6升级zabbix3.0.8后无法发送报警邮件
- 第四周项目1-三角形类的构造函数
- My eclipse和Eclipse平台 JSP可视化编程工具
- 我的世界1.7.10服务器修改器,我的世界1.7.10 TMI内置修改器安装方法及使用说明...
- python图片搜索_用Python构建图片处理搜索引擎
- 利用Django创建简单app
- ps4手柄驱动linux,Arduino和单片机区别,及Arduino入门教程
- TPT Autotester|高效快捷的车辆在环ViL测试工具
- 如何在 R 中应用经验法则
- 如何使用api调用AI抠图服务
- 信奥基本功:打字练习(盲打)
热门文章
- 查询Linux充电时间,【充电】Linux学习(二)——常用的linux命令
- python实现希尔排序算法_排序算法总结(冒泡排序、直接插入排序、希尔排序)(python实现)...
- JS的三大组成(ES,DOM,BOM)
- Windows常用快捷键整理
- 洛谷P1073 最优贸易
- python学习day-4 集合与函数
- 【Hadoop】HIVE 数据表 使用
- 负载均衡集群HAProxy安装篇
- 别傻了,人家离职你也离
- OSChina 周三乱弹——真相往往令人内牛满面