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 相关文章推荐
Apache站点配置SSL强制跳转443
Mar 09 Servers
nginx location优先级的深入讲解
Mar 31 Servers
nginx中proxy_pass各种用法详解
Nov 07 Servers
关于Nginx中虚拟主机的一些冷门知识小结
Mar 03 Servers
Nginx设置HTTPS的方法步骤 443证书配置方法
Mar 21 Servers
Vertica集成Apache Hudi重磅使用指南
Mar 31 Servers
nginx.conf配置文件结构小结
Apr 08 Servers
阿里云服务器Ubuntu 20.04上安装Odoo 15
May 20 Servers
linux目录管理方法介绍
Jun 01 Servers
TaiShan 200服务器安装Ubuntu 18.04的图文教程
Jun 28 Servers
zabbix 代理服务器的部署与 zabbix-snmp 监控问题
Jul 15 Servers
阿里云服务器(windows)手动部署FTP站点详细教程
Aug 05 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
PHP数组 为文章加关键字连接 文章内容自动加链接
2011/12/29 PHP
关于尾递归的使用详解
2013/05/02 PHP
Google Suggest ;-) 基于js的动态下拉菜单
2006/10/11 Javascript
jquery的extend和fn.extend的使用说明
2011/01/09 Javascript
NodeJS框架Express的模板视图机制分析
2011/07/19 NodeJs
jquery中使用$(#form).submit()重写提交表单无效原因分析及解决
2013/03/25 Javascript
jqGrid增加时--判断开始日期与结束日期(实例解析)
2013/11/08 Javascript
js opener的使用详解
2014/01/11 Javascript
JS图片自动轮换效果实现思路附截图
2014/04/30 Javascript
JavaScript使用pop方法移除数组最后一个元素用法实例
2015/04/06 Javascript
JavaScript实现基于Cookie的存储类实例
2015/04/10 Javascript
纯js代码实现未知宽高的元素在指定元素中垂直水平居中显示
2015/09/12 Javascript
微信小程序 WXDropDownMenu组件详解及实例代码
2016/10/24 Javascript
bootstrap表格分页实例讲解
2016/12/30 Javascript
jQuery学习之DOM节点的插入方法总结
2017/01/22 Javascript
Vue实现左右菜单联动实现代码
2018/08/12 Javascript
vue-cli脚手架打包静态资源请求出错的原因与解决
2019/06/06 Javascript
vue项目强制清除页面缓存的例子
2019/11/06 Javascript
Vue实现多标签选择器
2019/11/28 Javascript
[51:53]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第二场 11.01
2020/11/02 DOTA
如何在python中实现随机选择
2019/11/02 Python
pycharm修改file type方式
2019/11/19 Python
python 微信好友特征数据分析及可视化
2020/01/07 Python
pycharm快捷键汇总
2020/02/14 Python
Matplotlib中rcParams使用方法
2021/01/05 Python
python爬虫用request库处理cookie的实例讲解
2021/02/20 Python
这段代码难道不该打印出56吗
2013/02/27 面试题
大型晚会策划方案
2014/02/06 职场文书
经典演讲稿汇总
2014/05/19 职场文书
小学生感恩父母演讲稿
2014/08/28 职场文书
交通违章检讨书
2014/09/21 职场文书
素质教育学习心得体会
2016/01/19 职场文书
母婴行业实体、电商模式全面解析
2019/08/01 职场文书
anaconda python3.8安装后降级
2021/06/11 Python
Vue中使用import进行路由懒加载的原理分析
2022/04/01 Vue.js
win server2012 r2服务器共享文件夹如何设置
2022/06/21 Servers