nginx 快速入门

配置文件 nginx.conf

在这里插入图片描述
在这里插入图片描述

  • 每个 http 块可以包括多个 server 块,而每个 server 块就相当于一个虚拟主机
#这一行表示这个server块监听的端口是80,只要有请求访问了80端口,此server块就处理请求listen  80;# 表示这个server块代表的虚拟主机的名字server_name  localhost;  #监听的域名
  • 一个 server 块可以配置多个 location 块。
    在这里插入图片描述
    在这里插入图片描述

正向代理和反向代理

正向代理详解

概念
正向代理类似一个跳板机,代理访问外部资源。
比如我们国内访问谷歌,直接访问访问不到,我们可以通过一个正向代理服务器,请求发到代理服,代理服务器能够访问谷歌,这样由代理去谷歌取到返回数据,再返回给我们,这样我们就能访问谷歌了。
用途

  1. 访问原来无法访问的资源,如 google。
  2. 可以做缓存,加速访问资源。
  3. 对客户端访问授权,上网进行认证。
  4. 代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息。
    在这里插入图片描述

反向代理详解

概念
反向代理(Reverse Proxy)实际运行方式是指以代理服务器来接受 internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 internet 上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

作用:

  1. 保护了真实的 web 服务器,web 服务器对外不可见,外网只能看到反向代理服务器,而反向代理服务器上并没有真实数据,因此,保证了 web 服务器的资源安全。
  2. 反向代理为基础产生了动静资源分离以及负载均衡的方式,减轻 web 服务器的负担,加速了对网站访问速度。
  3. 节约了有限的 IP 地址资源,企业内所有的网站共享一个在 internet 中注册的IP地址,这些服务器分配私有地址,采用虚拟主机的方式对外提供服务。
    在这里插入图片描述

正向代理即是客户端代理, 代理客户端, 服务端不知道实际发起请求的客户端,反向代理即是服务端代理, 代理服务端,客户端不知道实际提供服务的服务端。

常用命令

cd  /usr/nginx/sbin/
1、启动nginx./nginx
2、关闭 nginx./nginx -s stop
3 、安全退出./nginx -s quit
4、重新加载nginx (nginx.conf)./nginx -s reload
5、查看版本号./nginx -v
6、查看nginx进程ps  aux | grep  nginx

负载均衡

简单来说就是使用分布式的场景,将原先的一台服务器做成一个集群,然后将请求分发到各个服务器上,但是,如何将请求每次转发到不同的服务器呢,Nginx就可以做到。原来我们都是直接访问服务器,现在我们可以使用Nginx 进行反向代理,然后我们访问Nginx,由Nginx将我们的请求分发到不同的服务器上,以实现负载均衡。

轮询

最基本的配置方法,它是 upstream 模块默认的负载均衡默认策略。每个请求会按时间顺序逐一分配到不同的后端服务器。
在这里插入图片描述
在这里插入图片描述

weigh

权重方式,在轮询策略的基础上指定轮询的几率。
注意:

  1. 权重越高分配到需要处理的请求越多。
  2. 此策略可以与 least_conn 和 ip_hash 结合使用。
  3. 此策略比较适合服务器的硬件配置差别比较大的情况。
    在这里插入图片描述

ip_hash

指定负载均衡器按照基于客户端 IP 的分配方式,这个方法确保了相同的客户端的请求一直发送到相同的服务器,以保证 session 会话。这样每个访客都固定访问一个后端服务器,可以解决 session 不能跨服务器的问题。
在这里插入图片描述

least_conn

把请求转发给连接数较少的后端服务器。轮询算法是把请求平均的转发给各个后端,使它们的负载大致相同;但是,有些请求占用的时间很长,会导致其所在的后端负载较高。
在这里插入图片描述

fair(第三方)

fair 属于第三方的负载均衡策略,其实现需要安装第三方插件。fair 按照服务器端的响应时间来分配请求,响应时间短的优先分配。
在这里插入图片描述

url_hash(第三方)

url_hash 按访问 url 的 hash 结果来分配请求,使每个 url 定向到同一个后端服务器,要配合缓存命中来使用。同一个资源多次请求,可能会到达不同的服务器上,导致不必要的多次下载,缓存命中率不高,以及一些资源时间的浪费。
而使用 url_hash,可以使得同一个 url(也就是同一个资源请求)会到达同一台服务器,一旦缓存住了资源,再此收到请求,就可以从缓存中读取。
在这里插入图片描述

动静分离

为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度,降低原来单个服务器的压力。
动静分离是让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作,这就是网站静态化处理的核心思路,实际上,何谓动?何谓静呢?拿我们 Java 来说 jsp、servlet 等就是动,因为他们离开我们的 web 服务器的支持就会无法正常工作。而 js、css 等文件就是静了。因为离开 web 服务器他一样能正常的工作。

动静分离简单的概括是:动态文件与静态文件的分离。

Nginx如何做动静分离

Nginx 根据客户端请求的 url 来判断请求的是否是静态资源,如果请求的 url 包含 jpg、png,则由 Nginx 处理。如果请求的 url 是 .php 或者 .jsp 等等,这个时候这个请求是动态的,将转发给 tomcat 处理。
总结来说,Nginx 是通过 url 来区分请求的类型,并转发给不同的服务端。

Nginx动静分离的好处

  • api 接口服务化:动静分离之后,后端应用更为服务化,只需要通过提供 api 接口即可,可以为多个功能模块甚至是多个平台的功能使用,可以有效的节省后端人力,更便于功能维护。
  • 前后端开发并行:前后端只需要关心接口协议即可,各自的开发相互不干扰,并行开发,并行自测,可以有效的提高开发时间,也可以有些的减少联调时间。
  • 减轻后端服务器压力,提高静态资源访问速度:后端不用再将模板渲染为 html 返回给用户端,且静态服务器可以采用更为专业的技术提高静态资源的访问速度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/453506.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

优雅的入参校验,Valid常用校验

更好的阅读体验:优雅的入参校验,Valid常用校验 对于前端传递的参数,正常情况下后端是要进行一些必要的校验,最简单的做法是用 if 效果是可以,但不优雅。使用 Validator 代替 if,就会优雅很多 ps&#xff…

重学SpringBoot3-Spring Data JPA简介

更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ 重学SpringBoot3-Spring Data JPA简介 1. 什么是 Spring Data JPA?2. Spring Data JPA 的核心概念2.1. 实体(Entity)2.2. Repository&…

SpringBoot整合mybatisPlus实现批量插入并获取ID

背景:需要实现批量插入并且得到插入后的ID。 使用for循环进行insert这里就不说了,在海量数据下其性能是最慢的。数据量小的情况下,没什么区别。 【1】saveBatch(一万条数据总耗时:2478ms) mybatisplus扩展包提供的:…

吴恩达深度学习(9)

经典的神经网络: 残差网络(ResNet) 太深的神经网络容易出现梯度消失与梯度爆炸等问题。 跳跃连接,能从一层中得到激活并将其传递给下一层,甚至更深的网络层。利用这个可以训练网络层很深很深的残差网络(R…

Go 1.19.4 命令调用、日志、包管理、反射-Day 17

1. 系统命令调用 所谓的命令调用,就是通过os,找到系统中编译好的可执行文件,然后加载到内存中,变成进程。 1.1 exec.LookPath(寻找命令) 作用: exec.LookPath 函数用于在系统的环境变量中搜索可…

海思hi3536c配置内核支持USB摄像头

linux内核版本:linux-3.18.20 配置步骤 进入Device Drivers 选择Multimedia support,并进入 选择Media USB Adapters,并进入 如下图,选择这几项: 保存退出,重新编译内核下载 内核更新后&#xff0c…

DIFFEDIT: DIFFUSION-BASED SEMANTIC IMAGE EDIT- ING WITH MASK GUIDANCE

https://arxiv.org/pdf/2210.11427 问题引入 针对的问题是输入text prompt完成对图片的编辑,基于的是T2I model;本文的方法不需要额外提供mask来将任务变为inpaint任务,而是可以自动的根据text prompt来提取出需要编辑区域的mask methods

支付域——支付背景

摘要 支付体系作为现代金融的重要组成部分,承担着资金流转与经济交易的关键职能。随着科技的发展,全球支付方式迅速演变,尤其是在中国,移动支付、互联网支付等新兴方式已广泛应用。传统的现金、银行卡支付逐渐被数字支付所取代,支付宝、微信支付等第三方支付机构成为主流…

计算机网络:数据链路层 —— 扩展共享式以太网

文章目录 共享式以太网共享式以太网存在的问题在物理层扩展以太网扩展站点与集线器之间的距离扩展共享式以太网的覆盖范围和站点数量 在链路层扩展以太网网桥的主要结构网桥的基本工作原理透明网桥自学习和转发帧生成树协议STP 共享式以太网 共享式以太网是当今局域网中广泛采…

Leetcode|24. 两两交换链表中的节点 ● 19.删除链表的倒数第N个节点 ● 面试题 02.07. 链表相交 ● 142.环形链表II

24. 注意:涉及头节点的修改或者删除时,最好设置一个虚拟的头结点,方便简化代码,不必进行是否为头节点的的判断,简化code class Solution { public:ListNode* swapPairs(ListNode* head) {ListNode* dummyHead new Li…

Adobe Acrobat DC 打印PDF文件,没有打印出注释的解决方法

adobe acrobat在打印的时候,打印不出来注释内容(之前一直可以,突然就不行),升级版本、嵌入字体等等都试过,也在Google找了半天和问了GPT也么找着办法。 无奈之下,自己通过印前检查,…

ASP.NET Core8.0学习笔记(二十一)——EFCore关系配置API

一、关系配置API概述 当我们需要指定一个字段作为外键,而这个外键又不符合以上四种约定时,就需要在IEntityTypeConfiguration实现类(对应的配置类)中使用Fluent API直接配置外键。理论上可以通过API直接指定一个属性,…

HTTP快速入门

HTTP报文结构 HTTP 协议主要由三大部分组成: ● 起始行(start line):描述请求或响应的基本信息; ● 头部字段(header):使用 key-value 形式更详细地说明报文; ● 消息正…

vue 页面导出gif图片 img 导出gif 超简单~

1.首先需要新建一个文件件 新建gif文件夹。这两个文件在文章最后面需要可自提 2.出gif分为两种情况 第一种情况 页面是img标签,直接导出图片作为gif 第二种情况 页面是div标签,需要导出div里面的图片作为gif 2.1页面是img标签,直接导出图…

[论文阅读]Distilling ChatGPT for Explainable Automated Student Answer Assessment

Distilling ChatGPT for Explainable Automated Student Answer Assessment http://arxiv.org/abs/2305.12962 简要概述 文章的背景是 教育领域的学生答题评估,传统的评估需要高成本的人工,随着CHATGPT的发展,研究人员发现这种能够有效处理…

嵌入式QT中基本工程模板分析

大家好,今天主要来分享一下,如何分析一下QT的工程代码文件。 第一:QT工程分析

CentOS安装NVIDIA驱动、CUDA以及nvidia-container-toolkit

0.提前准备 0.1.更新yum源(以阿里为例) 0.1.1 备份当前的yum源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 0.1.2 下载新的CentOS-Base.repo 到/etc/yum.repos.d/ CentOS 5 wget -O /etc/yum.repos.d/CentOS-Base…

Xilinx UltraScale系列FPGA纯verilog图像缩放,工程项目解决方案,提供2套工程源码和技术支持

目录 1、前言工程概述免责声明FPGA高端图像处理培训 2、相关方案推荐我这里已有的FPGA图像缩放方案本方案在Xilinx Artix7 系列FPGA上的应用本方案在Xilinx Kintex7 系列FPGA上的应用本方案在Xilinx Zynq7000 系列FPGA上的应用本方案在国产FPGA紫光同创系列上的应用本方案在国产…

Java爬虫API:获取商品详情数据的利器

为什么选择Java爬虫API 强大的库支持:Java拥有丰富的网络编程库,如Apache HttpClient、OkHttp等,这些库提供了强大的HTTP请求功能,使得发送请求和处理响应变得简单。高效的数据处理:Java的数据处理能力,结…

C语言:单链表(不带头节点)

目录 一、单链表概念 单链表的特点 二、单链表的实现 1、打印函数的实现 2、尾插函数的实现 3、全部函数的实现 总结: 一、单链表概念 链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。…