Nginx的基本概念和原理


Posted in Servers onMarch 21, 2022

一、Nginx基本概念

(engine x)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

Nginx专为性能优化而开发,性能是器最重要的考量,实现上非常注重效率,能经受高负载的考验,据报告能支持高达50,000个并发连接数。

Nginx不仅能做反向代理,实现负载均衡;还能可以作正向代理来进行上网等功能。

二、反向代理

在客户端(浏览器)配置代理服务器,通过代理服务器进行互联网访问。代理对象是客户端,不知道服务端是谁。

Nginx的基本概念和原理

客户端不需要任何配置就能访问,只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器,获取数据后再返回给客户端。对外就一个服务器,暴露的是反向代理服务器地址,隐藏了真实服务器IP地址。代理对象是服务端,不知道客户端是谁。

Nginx的基本概念和原理

三、负载均衡

客户端发送多个请求到服务器,服务器处理请求,有些可能要访问数据库,服务器处理完毕后再将结果返回客户端。

这种架构模式单一,适合并发请求少的情况,但并发量大的时候如何解决?

Nginx的基本概念和原理

首先可能想到升级服务器配置,但硬件的性能提升不能满足日益增长的需求,此时想到服务器集群,增加服务器数量,然后将原先请求单个服务器的情况改为将请求分发到多个服务器上,将负载分发到多个服务器上,也就是我们讲的

Nginx的基本概念和原理

四、动静分离

为了加快网站的解析速度,可以把动态页面和静态页面有不同的服务器来解析,减少服务器压力,加快解析速度。

Nginx的基本概念和原理

五、原理

mater&worker

Nginx的基本概念和原理

master接收信号后将任务分配给worker进行执行,worker可有多个。

Nginx的基本概念和原理

六、worker如何工作

客户端发送一个请求到master后,worker获取任务的机制不是直接分配也不是轮询,而是一种争抢的机制,“抢”到任务后再执行任务,即选择目标服务器tomcat等,然后返回结果。

Nginx的基本概念和原理

worker_connection

发送请求占用了woker两个或四个连接数。

  • 普通的静态访问最大并发数是:worker_connections *worker_processes/ 2 /2/2
  • 若是 HTTP 作 为反向代理来说,最大并发数量应该是 worker_connections *worker_processes/ 4 /4/4

当然了,worker数也不是越多越好,worker数和服务器的CPU数相等时最适宜的。

优点:

  • 可以使用 nginx –s reload 热部署,利用 nginx 进行热部署操作
  • 每个 woker 是独立的进程,若其中一个woker出现问题,其他继续进行争抢,实现请求过程,不会造成服务中断

到此这篇关于Nginx的基本概念和原理的文章就介绍到这了,更多相关Nginx概念和原理内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Servers 相关文章推荐
nginx 反向代理之 proxy_pass的实现
Mar 31 Servers
Nginx配置文件详解以及优化建议指南
Sep 15 Servers
Nginx内网单机反向代理的实现
Nov 07 Servers
Nginx 路由转发和反向代理location配置实现
Nov 11 Servers
nginx常用配置conf的示例代码详解
Mar 21 Servers
Kubernetes部署实例并配置Deployment、网络映射、副本集
Apr 01 Servers
Nginx配置之禁止指定IP访问
May 02 Servers
服务器SVN搭建图文安装过程
Jun 21 Servers
Linux下搭建SFTP服务器的命令详解
Jun 25 Servers
Linux中各个目录的作用与内容
Jun 28 Servers
Zabbix对Kafka topic积压数据监控的问题(bug优化)
Jul 07 Servers
Apache自带的ab压力测试工具的实现
Jul 23 Servers
解决xampp安装后Apache无法启动
Nginx图片服务器配置之后图片访问404的问题解决
Shell脚本一键安装Nginx服务自定义Nginx版本
Nginx实现会话保持的两种方式
Mar 18 #Servers
Nginx实现负载均衡的项目实践
Mar 18 #Servers
Nginx中使用Lua脚本与图片的缩略图处理的实现
Mar 18 #Servers
nginx刷新页面出现404解决方案(亲测有效)
Mar 18 #Servers
You might like
浅析Laravel5中队列的配置及使用
2016/08/04 PHP
PHP对称加密算法(DES/AES)类的实现代码
2017/11/14 PHP
实例讲解php实现多线程
2019/01/27 PHP
Ext JS Grid在IE6 下宽度的问题解决方法
2009/02/15 Javascript
重写javascript中window.confirm的行为
2012/10/21 Javascript
利用JavaScript检测CPU使用率自己写的
2014/03/22 Javascript
js unicode 编码解析关于数据转换为中文的两种方法
2014/04/21 Javascript
jQuery源码解读之hasClass()方法分析
2015/02/20 Javascript
jQuery fancybox在ie浏览器下无法显示关闭按钮的解决办法
2016/02/19 Javascript
用AngularJS的指令实现tabs切换效果
2016/08/31 Javascript
让浏览器崩溃的12行JS代码(DoS攻击分析及防御)
2016/10/10 Javascript
JavaScript运动框架 链式运动到完美运动(五)
2017/05/18 Javascript
Javascript中的getter和setter初识
2017/08/17 Javascript
ES6/JavaScript使用技巧分享
2017/12/14 Javascript
layui实现二维码弹窗、并下载到本地的方法
2019/09/25 Javascript
[45:34]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第一场 12.18
2020/12/19 DOTA
python发送伪造的arp请求
2014/01/09 Python
Django中使用 Closure Table 储存无限分级数据
2019/06/06 Python
python脚本调用iftop 统计业务应用流量的思路详解
2019/10/11 Python
python让函数不返回结果的方法
2020/06/22 Python
Python之京东商品秒杀的实现示例
2021/01/06 Python
Big Green Smile德国网上商店:提供各种天然产品
2018/05/23 全球购物
anello泰国官方网站:日本流行包包品牌
2019/08/08 全球购物
PHP如何设置和取得Cookie值
2015/06/30 面试题
青年志愿者事迹材料
2014/02/07 职场文书
《这儿真好》教学反思
2014/02/22 职场文书
绿色小区申报材料
2014/08/22 职场文书
审计局班子四风对照检查材料思想汇报
2014/10/07 职场文书
导游词范文
2015/02/13 职场文书
放假通知
2015/04/14 职场文书
2015年暑期社会实践总结
2015/07/13 职场文书
大学生党员暑假实践(活动总结)
2019/08/21 职场文书
教你如何用python开发一款数字推盘小游戏
2021/04/14 Python
使用Python获取字典键对应值的方法
2022/04/26 Python
Nginx 配置 HTTPS的详细过程
2022/05/30 Servers
Mysql如何查看是否使用到索引
2022/12/24 MySQL