IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Nginx 详解 -> 正文阅读

[系统运维]Nginx 详解

前提

最近一直在网上学习,突然对Nginx很感兴趣就学了起来。在网上浏览了许多的博客,但是都没有很浅显的告诉我Nginx是什么、作用是什么,能够带来什么效果,在B站看了<狂神说>的Nginx的视频之后,自己梳理了知识点,了解了Nginx的作用。

本文章只是简单阐述Nginx,方便对Nginx有了初步了解。并不会对里面的技术进行详细分析,适合初学者。

运用场景

正常情况下,我们的项目在一个服务器下就可以跑的起来,这对与小规模访问量是没有问题的。如果访问的人数慢慢增多,tomcat服务器还能够快速响应吗?几千人可以,几万人呢,几十万人呢,这个时候一台服务器是顶不住的。

这时候该怎么办呢? 加内存?可以使用redis把更多的数据保存在内存中,减少数据库的访问,达到快速的访问。但是这解决不解决根本性问题,即高并发下单台服务器承受压力过大,会导致内存突然骤升到100%。

那有没有什么好的办法呢?既然单台服务器承受压力过大,那我们就多加几台服务器,缓解单台服务器的压力。比如我们可以在三台服务器上都部署项目,如果客户端的请求,能均匀的分到这三台服务器上,是不是可以缓解单台服务器的压力了呢?这样似乎很有道理。

请看下面的图形:

image.png

我们假设服务器2、服务器3和服务器4为我们部署的服务器,现在有个问题,客户端的请求只能访问一个,我们有三台服务器(对应三个不同的IP),客户端怎么知道请求的事哪个服务器呢?有一个糟糕方法,让前端知道每个模块去访问哪个服务器,这简直是槽糕透了!

现在问题是:怎么能够在改动很少的情况下,通过URL访问三台服务器,即客户端通过访问一个连接,能够自动映射到某一台服务器上。

这就需要我们的Nginx出场了。

Nginx是什么

image.png

Nginx支持50000个并发连接数,但是tomcat只支持500,就多得并发数来讲,用nginx也是很好的。

个人理解:Nginx相当于一个中间件,在客户端和服务器之间齐了桥梁的作用。Nginx负责把客户端的请求,分发到各台服务器,然后再返回。解决了客户端如何访问多台服务器的问题。

上面的文字作为初步了解,接下来讲一下上面问题使用Nginx来解决,这样来了解Nginx是什么。

解决措施:我们在客户端和服务器之间搭建Nginx,在Nginx中配置三台服务器IP地址和映射端口(三台服务器的IP和对应的端口不同)。比如项目地址是www.baidu.com,当你访问这个地址的时候,Nginx会这个请求映射到服务器2上,也有可能是3.当你下一次请求时,这个请求会到服务器3上。这样就解决了,把所有的请求都映射到一台服务器上,Nginx可以把请求均衡的分布在三台服务器上,这样的请求速度会快很多。

Nginx作用

反向代理

概念:

反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。【来自百度百科】

image.png

图片来自狂神说

自述:

反向代理的作用是应用部署在多台服务器上,然后由Nginx对外提供一个接口,这样客户端访问服务器时,完全感觉不到是访问多台服务器。后台由Nginx控制多台服务器的路由,这样方便管理多台服务器时,路由控制。当某一台服务器宕机时,Nginx自动把路由映射到其他服务器。

负载均衡

概念:

负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。

负载均衡(Load Balance)其意思就是分摊到多个操作单元上进行执行,例如Web服务器FTP服务器企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。【来自百度百科】

image.png

【图片来自狂神说】

自述:

负载均衡的意思是:降低单台服务器的压力,使多台服务器分担压力,这样能够保持服务器的告诉运转。

当一台服务器不能满足业务需求时,我们要扩充多台服务器,把应用部署在多台服务器上。Nginx会根据你所配置的请求,去访问服务器。比如:第一次请求来了则访问1服务器,当第二次请求来时则访问2服务器,再来一个请求时,访问3服务器。分解了单台服务器的压力,保障了服务器的告诉运转,提高应用处理的效率。如果某一个服务器配置较好,还可以配置把多个请求访问到该服务器上。【需要在Nginx中进行配置】

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-09 10:35:59  更:2021-08-09 10:37:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 19:25:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码