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同一个域名配置多个项目的实现方法
Mar 31 Servers
uwsgi+nginx代理Django无法访问静态资源的解决
May 10 Servers
Minikube搭建Kubernetes集群
Mar 31 Servers
CKAD认证中部署k8s并配置Calico插件
Mar 31 Servers
在Docker容器中部署SQL Server
Apr 11 Servers
Tomcat项目启动失败的原因和解决办法
Apr 20 Servers
阿里云服务器部署RabbitMQ集群的详细教程
Jun 01 Servers
CentOS7环境下MySQL8常用命令小结
Jun 10 Servers
winserver2019安装软件一直卡在应用程序正在为首次使用做准备
Jun 10 Servers
vscode内网访问服务器的方法
Jun 28 Servers
在windows server 2012 r2中安装mysql的详细步骤
Jul 23 Servers
apache虚拟主机配置的三种方式(小结)
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
PHP 程序授权验证开发思路
2009/07/09 PHP
114啦源码(114la)不能生成地方房产和地方报刊问题4级页面0字节的解决方法
2012/01/12 PHP
php实现的二分查找算法示例
2017/06/20 PHP
JavaScript全排列的六种算法 具体实现
2013/06/29 Javascript
JavaScript通过select动态更换图片的方法
2015/03/23 Javascript
理解Javascript文件动态加载
2016/01/29 Javascript
JS+HTML5手机开发之滚动和惯性缓动实现方法分析
2016/06/12 Javascript
JS中mouseup事件丢失的原因与解决办法
2017/06/14 Javascript
浅谈AngularJS中使用$resource(已更新)
2017/09/14 Javascript
ES6 javascript中class静态方法、属性与实例属性用法示例
2017/10/30 Javascript
Vue下拉框回显并默认选中随机问题
2018/09/06 Javascript
Vue运用transition实现过渡动画
2019/05/06 Javascript
jquery3和layui冲突导致使用layui.layer.full弹出全屏iframe窗口时高度152px问题
2019/05/12 jQuery
jQuery与原生JavaScript选择HTML元素集合用法对比分析
2019/11/26 jQuery
在vue和element-ui的table中实现分页复选功能
2019/12/04 Javascript
vue不操作dom实现图片轮播的示例代码
2019/12/18 Javascript
[02:23]2014DOTA2国际邀请赛中国战队回顾
2014/08/01 DOTA
浅谈Python程序与C++程序的联合使用
2015/04/07 Python
使用Python来开发Markdown脚本扩展的实例分享
2016/03/04 Python
Python随机生成均匀分布在单位圆内的点代码示例
2017/11/13 Python
Python实现邮件的批量发送的示例代码
2018/01/23 Python
在python中bool函数的取值方法
2018/11/01 Python
Python多项式回归的实现方法
2019/03/11 Python
Python2和3字符编码的区别知识点整理
2019/08/08 Python
Python3.7实现验证码登录方式代码实例
2020/02/14 Python
Under Armour安德玛德国官网:美国高端运动科技品牌
2019/03/09 全球购物
奠基仪式主持词
2014/03/20 职场文书
2014年办公室主任工作总结
2014/11/12 职场文书
实习介绍信模板
2015/01/30 职场文书
皇城相府导游词
2015/02/06 职场文书
幼儿园个人总结
2015/02/28 职场文书
伊索寓言读书笔记
2015/06/30 职场文书
消防宣传标语大全
2015/08/03 职场文书
2015年度学校应急管理工作总结
2015/10/22 职场文书
Python的property属性详细讲解
2022/04/11 Python
CI Games宣布《堕落之王2》使用虚幻引擎5制作 预计将于2023年正式发售
2022/04/11 其他游戏