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软件包

  • 30
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值