Nginx服务器的Web请求处理机制
今天学习一下Nginx的优势,肯定了解一下其他服务器特性,做一下对比
1.多进程方式
每次接收到客户端时,都会生成一个子进程去处理,客户端断开,子进程会被回收
优点:相互独立,实现简单,保证服务器的稳定性
缺点:每次生成一个子进程,对资源和时间会有一定的开销,处理大量并发请求,会导致系统性能下降
apache对其进行了改进,当客户端没有连接时就会生成一个子进程去等待,客户端断开后也不销毁而是等待下一个,但不能从根本解决问题
2.多线程方式
每当接收到一个客户端时,服务器的进程生成出一个线程来和客户端进行交互
优点:线程的开销要比进程的开销小很多,有利于协作
缺点:多个线程位于同一个进程,彼此之间相互影响,在增加了出错的风险
IIS使用多线程方式提供服务,通常要定期检查和重启服务器,防止意外
3.异步方式
需要了解同步,异步,阻塞和非阻塞的概念
1.同步:发送方发送请求后,等待接收方响应结果,接受请求后才能发送下一次请求
2.异步:发送方发送请求后,不需要等待响应结果,直接发送下一次请求
3.阻塞: 当没有得到响应结果时,进程会被挂起,知道接收到响应结果才会继续工作
4.非阻塞:没有得到响应结果,进程回立即返回执行下一个调用
阻塞和同步不能混淆,异步和非阻塞也不能混淆
目前有四种方式
同步阻塞方式
同步非阻塞方式[不使用]
异步阻塞方式[不使用]
异步非阻塞方式[该方式效率最高]
举个例子,比如用户在付款之后,收款员要操作收款机,期间收款员可以聊天,打电话等操作,等何时出款机得出结果再反馈给用户
目前Nginx使用都是异步机制和多进程机制结合
转载于:https://www.cnblogs.com/wangheng669/p/8191905.html
Nginx服务器的Web请求处理机制相关推荐
- nginx服务器模块、web请求处理机制及事件驱动模型、进程功能和进程间通信
一:Nginx的模块化结构设计: 1.核心模块:指的是nginx服务器运行当中必不可少的模块,这些模块提供了最基本最核心的服务,比如权限控制.进程管理.错误日志.事件驱动.正则表达式解析等,nginx ...
- 一文搞懂使用Nginx服务器部署前端Web项目
1 Nginx简介与安装 概要 Nginx 简介 Nginx 架构说明 Nginx 基础配置与使用 1.1 Nginx 简介 Nginx是一个高性能WEB服务器,除它之外Apache.Tomcat.J ...
- 玩转Nginx服务器,怎能不懂Nginx的配置和优化?
全文内容总览 1 Nginx基本配置 Nginx的配置文件默认在Nginx程序安装目录的conf目录下,主配置文件为nginx.conf,假设你的Nginx安装在/usr/local/webserve ...
- WEB请求处理二:Nginx请求反向代理
上一篇<WEB请求处理一:浏览器请求发起处理>,我们讲述了浏览器端请求发起过程,通过DNS域名解析服务器IP,并建立TCP连接,发送HTTP请求.本文将讲述请求到达反向代理服务器的一个处理 ...
- WEB 请求处理二:Nginx 请求 反向代理
上一篇<WEB请求处理一:浏览器请求发起处理>,我们讲述了浏览器端请求发起过程,通过DNS域名解析服务器IP,并建立TCP连接,发送HTTP请求.本文将讲述请求到达反向代理服务器的一个处理 ...
- Nginx+Tomcat构筑Web服务器集群
代理服务 代理服务可简单的分为正向代理和反向代理: 正向代理: 用于代理内部网络对Internet的连接请求(如VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标Web服务器的HTTP请 ...
- 深入浅出学习透析Nginx服务器的架构分析及原理分析「底层技术原理+运作架构机制」
Nginx再次回顾 也许你已经忘记了Nginx是做什么的?我来再次给你夯实一下概念. 多协议反向代理 Nginx是个高性能的Web和反向代理服务器及HTTP服务器,它能反向代理HTTP,HTTPS和邮 ...
- Nginx+Keepalived实现Web服务器负载均衡
说明: 操作系统:CentOS 5.X 64位 Web服务器:192.168.21.127.192.168.21.128 站点:bbs.osyunwei.com和sns.osyunwei.com部署在 ...
- liunx服务(Nginx服务器 web服务器源码包和rpm 服务平滑升级)
Nginx服务器 和apache服务器是同样的功能都是发布网页web的但是不同的是功能上有些不同各有各的好处. Nginx服务器 开始安装 确认包安装 yum install pcre-devel o ...
最新文章
- CVPR2020文章汇总 | 点云处理、三维重建、姿态估计、SLAM、3D数据集等(12篇)
- 他89岁,拿下人生第3个博士学位,横跨医学物理学,只为“实现儿时梦想”
- C语言 | C语言实现高精度加法——数组加法(附源代码)
- Python---寻找给定序列中相差最小的两个数字
- python练手经典100例微盘_20个Python练手经典案例,能全做对的人确实很少!
- matlab中函数的公式计算,MATLAB怎样定义函数(入门) 有一函数 f(x,y)=x^2+sinxy+2y , 写一程序, 输入自变量的值,输出函数值....
- kotlin android 镜像,【54】Kotlin android Anko 神兵利器
- android之Intent的七大属性
- PMP 管理学6大定律之四(光环效应)
- java中HashMap与Hash表详解
- Linux内核移植之DM9000网卡驱动
- Angel-Eye: A Complete Design Flow for Mapping CNN onto Embedded FPGA阅读笔记
- 数学小课堂:数学思维(从逻辑出发想问题)
- 【图像超分辨率重建】——GRL论文精读笔记
- 设计一个长方体类Cuboid
- 套料排版代码python_钣金制造管理系统Fabcost自动套料排版设置
- 2023最火批量getshell工具
- 名博是怎样炼成的——读后感
- Windows10:耳机插到前面板上没声音?
- 章鱼加速器报名 | Substrate 应用链项目全球招募中,加速 Web3.0 革命