day17(nginx反向代理)

反向代理 安装nginx 1.26.1 平滑升级 负载均衡

1.nginx 反向代理配置

反向代理:⽤户直接访问反向代理服务器就可以获得⽬标服务器 (后端服务器)的资源。

反向代理效果:当访问200主机(web1),(nginx反向代理201主机(web2)的服务器)返回201 (web2)主机的页面。

nginx代理其他服务器的时候,不需要对方同意,更加方便了模块化操作。

2、代理优化(1)简单轮询

[root@web1 ~]# vim /usr/local/nginx/conf/nginx.conf

http {  

        include       mime.types;  

        default_type application/octet-stream;

        upstream backend_servers {    

          server 10.0.0.201:80;      

         server 10.0.0.202:80;

  }  

location / {        

        #   root   html;        

        #   index index.html index.htm;  

          proxy_pass   http://backend_servers;  

    }

[root@web1 ~]# /usr/local/nginx/sbin/nginx -s reload

3、代理优化(1)nginx 访客 IP ⿊名单

作为运维⼈员,我们可以选择允许哪些⽤户 IP 来访问我们的服务器,也可以选择允许哪个⽹段的⽤ 户。

allow:允许 deny:拒绝

在 nginx 配置⽂件的 server 模块内可以添加下⾯的内容。 当访问被拒绝时,会显示 403 错误⻚ ⾯。

4、nginx日志查看与分析

访问来源: 10.0.0.201、10.0.0.200

访问时间:

        2024 年 7 月 30 日 11 时 27 分 42 秒

        2024 年 7 月 30 日 11 时 27 分 46 秒

        2024 年 7 月 30 日 11 时 37 分 18 秒

访问方式和协议:

         GET 方法

        HTTP/1.1 协议和 HTTP/1.0 协议

访问结果:

         200 状态码,表示请求成功,返回了 26 字节的数据。

         403 状态码,表示禁止访问,分别返回了 153 字节和 555 字节的数据。

用户代理:

        curl/7.29.0

        Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.0.0

这段错误日志表明了以下情况:

在 2024 年 7 月 30 日 11 时 27 分 46 秒和 11 时 37 分 23 秒分别发生了两次访问被禁止的错误。

对于这两次错误,原因都是“access forbidden by rule”(被规则禁止访问)。

客户端的 IP 均为 10.0.0.200 ,服务器名称为“localhost”。

请求方式分别为“GET / HTTP/1.1”和“GET / HTTP/1.0”。

请求的主机分别为“10.0.0.202”和“backend_servers”。

---------------------------------------------------------------------------------------------------------------

nginx默认情况下同一个文件只允许1024人访问

5、代理优化(2)负载均衡

四层负载均衡使用 stream 模块,与七层的 http 模块同级。编译安装时需要加--with-http_stub_ status_module模块。

早期的网站流量和业务功能都比较简单,单台服务器足以满足基本的需求, 但是随着互联网的发 展,业务流量越来越大并且业务逻辑也跟着越来越复杂,单台服务器的性能及单点故障问题就凸显出来 了,因此需要多台服务器进行性能的水平扩展及避免单点故障出现。

负载均衡是将负载分摊到不同的服务单元,既保证服务的可用性,又保证响应足够快,给用户很好 的体验,快速增长的访问量和数据流量催生了各式各样的负载均衡的产品,很多专业的的负载均衡硬件 提供了很好的功能,但价格不菲,这使得负载均衡软件大受欢迎,nginx就是其中一个,在linux下有 nginx、Ivs、haproxy等服务,可以提供复杂均衡服务。

(1)作用

        解决服务器的高并发压力,提高应用程序的处理性能;

        提供故障转移,实现高可用;        

        通过添加或减少服务器数量,增强网站的可扩展性;

        在负载均衡器上进行过滤,可以提高系统的安全性;

1、提高系统性能

        负载均衡可以扩展网络设备和服务器的带宽,优化访问请求在服务器组之间的分配,提高系统的反 应速度和总体性能。

2、监控服务器的运行状态

        负载均衡能够监控服务器的运行状态,提高整个服务器组的可靠性。

3、提供服务一致性

        负载均衡器具有提供服务一致性的功能,负载均衡器通过读取客户端所发出 请求内的信息,进行重 写报头程序然后将请求发送至合适的服务器上,该服务器会维护着该客户端信息。在http通信当中,负 载均衡器提供服务一致性的功能就得到了很好的发挥,但提供该服务的途径并不是非常安全。但若将消 息加密后,负载均衡器就无法读取隐藏其中的信息了。

4、摆脱停机时间

        服务器托管公司可能会在维护期间将服务器关闭一段时间,这可能发生在业 务的高峰期。在基于云 服务器中,可以在将流量引导到另一台服务器的资源之后进行维护,前提是它们不在维护中,从而可以 消除网站的停机时间。

5、管理服务器故障

        由于它具有根据需要添加或删除实例的功能,因此可以跨云平台拥有多个数据中心。如果其中一台 服务器发生故障,则可以快速移动流量,将故障服务 器的流量流入到另一台服务器中。

6、转发功能

        按照一定的算法,将客户端请求转发到不同应用服务器上,减轻单个服务器 压力,提高系统并发 量。

7、恢复添加

        如检测到发生故障的应用服务器恢复工作,自动将其添加到处理用户请求队 伍中。

8、分发流量

        分发流量、请求到不同的服务器。使流量平均分配,提高整个集群的响应速 度、服务的高可用性。

(2)策略

(3)配置

(4)状态

在服务器组的组内服务器后填写该服务器的状态

6、nginx版本平滑升级

(1)原理

1、启动后完成配置加载和端⼝绑定等动作, 分离出指定数量的⼯作⼦进程 ,这些⼦进程会持有监 听端⼝的⽂件描述符 (fd),并通过在该描述符上添加监听事件来接受连接。

2、Nginx 主进程在启动完成后会进⼊等待状态,负责响应各类系 统消息,如 SIGCHLD、 SIGHUPSIGUSR2 等。

3、主进程⽀持的信号

TERM、INT:⽴刻退出

QUIT:等待⼯作进程结束后再退出

KILL:强制终⽌进程

HUP:重新加载配置⽂件,使⽤新的配置启动⼯作进程,并逐步关闭旧进程

USR1:重新⽣成⽇志⽂件

USR2:启动新的主进程,实现热升级

WINCH:逐步关闭⼯作进程及⼯作进程⽀持的信号

(2)过程

1、查看旧版nginx的编译参数;

2、编译新版本 Nginx 源码包,安装路径需与旧版⼀致,注意: 不要执⾏ make install;

3、备份⼆进制可执⾏⽂件,⽤新版本的替换;

4、确保配置⽂件⽆报错;

5、发送USR2信号:向主进程(master) 发送USR2信号,Nginx 会启动⼀个新版本的 master 进程和 对应⼯作进程,和旧版⼀起处理请求;

6、发送WINCH信号:向旧的 Nginx主进程(master) 发送 WINCH 信号,它会逐步关闭⾃⼰的⼯作进 程(主进程不退出),这时所有请求都会由新版Nginx处理

7、发送QUIT 信号: 升级完毕,可向旧的 Nginx 主进程(master) 发送 (QUIT、TERM、或者KILL)信 号,使旧的主进程退出;

8、验证nginx 版本号,并访问测试.

(3)配置

7、配置tomcat 10 运行环境

(tomcat9 可以在jdk8环境运行 ,tomcat10必须在jdk17以上的版本运行)

下载tomcat 10软件包

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

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

相关文章

DNS查询服务器的基本流程以及https的加密过程

DNS查询服务器的基本流程,能画出图更好,并说明为什么DNS查询为什么不直接从单一服务器查询ip,而是要经过多次查询,多次查询不会增加开销么(即DNS多级查询的优点)? 用户发起请求:用户…

量化、剪枝、蒸馏,这些大模型黑话到底说了些啥?

扎克伯格说,Llama3-8B还是太大了,不适合放到手机中,有什么办法? 量化、剪枝、蒸馏,如果你经常关注大语言模型,一定会看到这几个词,单看这几个字,我们很难理解它们都干了些什么&…

技术分享!国产ARM + FPGA的SDIO通信开发介绍!

SDIO总线介绍 SDIO(Secure Digital lnput and Output),即安全数字输入输出接口。SDIO总线协议是由SD协议演化而来,它主要是对SD协议进行了一些扩展。 SDIO总线主要是为SDIO卡提供一个高速的I/O能力,并伴随着较低的功耗。SDIO总线不但支持SDIO卡,而且还兼容SD内存卡。支持…

一文搞懂网络IO和java中的IO模型

目录 1.绪论 2.IO分类 3.用户空间和内核空间 4.同步阻塞IO 5.同步非阻塞IO 6.IO多路复用 6.1 基本原理 6.2 linux对IO多路复用的实现方式 6.3.1 select 1.实现原理 2.缺点 6.3.2 poll 1.实现原理 6.3.3 epoll 1.epoll数据结构 2.epoll的函数 3.epoll的优点 4…

JS小应用:从图床获取的html代码中提取IMG标签并提取图片复制到剪贴板

JS小应用:从图床获取的html代码中提取IMG标签并提取图片复制到剪贴板 问题产生 自己做站长,为了节省银子,难免要用到图床。有的图床可以直接给你URL,这当然是最好的情况: 而有的图床,却禁用了鼠标右键&am…

Null Pointer Exception: 如何快速定位和修复?️

Null Pointer Exception: 如何快速定位和修复?💡🛠️ Null Pointer Exception: 如何快速定位和修复?💡🛠️摘要引言正文内容什么是Null Pointer Exception?🤔NPE的常见原因&#x1f…

3D魔方lua核心脚本制作

制作不易,请好好欣赏 U→R→F→D→L→B 废话不多说,上脚本 --魔方基本运行程序 --星空露珠优化脚本lua --主核心来自分享 --666 --[=[ #G4=I 1 # 2-----------2------------1 # | U1(0) U2(1) U3(2) | # …

Java中的集合相关知识汇总

总结 Java集合 从数据结构可以分为:数组、Set、Map、队列、栈;从多线程安全可以分为线程安全与非线程安全的集合从关联关系可以总结如下(不包含多线程安全类): 点线框表示接口; 折线框表示抽象类; 实线框表示实现类…

【只出现一次的数字 III】python刷题记录

R2-位运算专题. 目录 哈希表 位运算 ps: 一眼哈希表啊 哈希表 class Solution:def singleNumber(self, nums: List[int]) -> List[int]:dictdefaultdict(int)ret[]for num in nums:dict[num]1for key in dict.keys():if dict[key]1:ret.append(key)return ret怎么用位…

[C++][STL源码剖析] 详解AVL树的实现

目录 1.概念 2.实现 2.1 初始化 2.2 插入 2.2.1 旋转(重点) 左单旋 右单旋 双旋 2.❗ 双旋后,对平衡因子的处理 2.3 判断测试 完整代码: 拓展:删除 1.概念 二叉搜索树虽可以缩短查找的效率,但…

Jeecgboot仪表盘设计器使用https时访问报错

问题 仪表盘设计器设计好后,Nginx配置域名发送https请求时,/drag/page/queryById、/drag/page/addVisitsNumber仍发送http请求。导致发送下面错误: 原因 仪表盘设计器里设计的页面是由后端生成返回给前端的,后端是根据后端服…

java算法day27

java算法day27 动态规划初步总结509 斐波那契数杨辉三角打家劫舍完全平方数 动态规划初步总结 如果你感觉某个问题有很多重叠子问题,使用动态规划是最有效的。 动态规划的过程就是每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心了。贪心是…

mysql死锁排查

Mysql 查询是否存在锁表有多种方式,这里只介绍一种最常用的 1、查看正在进行中的事务 SELECT * FROM information_schema.INNODB_TRX 2、查看正在锁的事务 SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS; 3、查看等待锁的事务 SELECT * FROM INFORMATION_SCHEMA.I…

视频VIP收费会员播放帝国CMS模板HTML5自适应手机多种运营模式

采用帝国CMS最新版核心制作,自适应响应式手机平板浏览,手机浏览器非常舒服哦!多种运营模式。用户中心逻辑和页面,都已经制作完整,可以搭建后稍微修改即可使用! 模板特点: 支持多集和单集播放&…

Kafka动态授权认证:利用SASL/SCRAM机制提升安全性

摘要 Apache Kafka是一个流行的分布式流处理平台,其安全性对于保护数据传输至关重要。SASL/SCRAM(Simple Authentication and Security Layer/Salted Challenge Response Authentication Mechanism)是一种认证机制,可以为Kafka集…

从华为出走的工控龙头,豪横收购法国顶尖软件龙头~

导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》 近日,业界传来震撼消息,华为系企业汇川科技正式宣布,已完成对法国顶尖工业软件企业Irai的全资收购。 这一战略…

【LLM】-12-部署Langchain-Chatchat-0.3.x版本

目录 1、0.3与0.2的功能对比 2、0.3.x支持多种部署方式 2.3、源码安装 2.3.1、项目源码下载 2.3.2、创建conda环境 2.3.3、安装poetry 2.3.4、安装依赖库 2.3.5、项目初始化 2.3.6、初始化知识库 2.3.7、启动服务 2.3.8、配置说明 2.3.8.1、basic_settings.yaml 2…

一馆多用,四季皆宜:气膜体育馆的优势与应用—轻空间

促进城市体育发展 装配式气膜体育馆以其便捷的安装、灵活的使用和多功能性,迅速在全国范围内得到推广。这种体育场馆不仅适用于篮球、羽毛球、网球等传统室内运动,还能根据需要灵活改造成游泳馆、滑冰场等特殊场地。这种多功能性使得气膜体育馆在城市中得…

甄选范文“论数据分片技术及其应用”软考高级论文,系统架构设计师论文

论文真题 数据分片就是按照一定的规则,将数据集划分成相互独立、正交的数据子集,然后将数据子集分布到不同的节点上。通过设计合理的数据分片规则,可将系统中的数据分布在不同的物理数据库中,达到提升应用系统数据处理速度的目的。 请围绕“论数据分片技术及其应用”论题…

【ThingsBoard初体验】本地运行源码踩坑记录

前言 运行源码之前,请先编译源码。这很重要!!! 官网源码编译教程:http://www.ithingsboard.com/docs/user-guide/contribution/yuanmabianyi/ 如果编译过程中出现报错,请看我上一篇文章:【Thing…