Nginx+Tomcat反向代理与负载均衡的实现

2023-12-07 0 417
目录
  • 一、正向代理与反向代理
    • 正向代理
    • 反向代理
  • 二、负载均衡
    • 什么是负载均衡
    • 代码仓库定义
    • 分流策略
    • 权重
      • least_conn(最少连接)
      • ip_hash(负载均衡模式)
      • fair(第三方负载均衡模式)
      • url_hash(第三方负载均衡模式)
  • 三、Nginx+Tomcat反向代理与负载均衡部署

    一、正向代理与反向代理

    正向代理

    客户端想要直接与目标服务器连接,但是无法直接进行连接,就需要先去访问中间的代理服务器,让代理服务器代替客户端去访问目标服务器

    反向代理

    屏蔽掉服务器的信息,经常用在多台服务器的分布式部署上,像一些大型网站,由于访问人数很多,就需要多台服务器来解决,由一个反向代理服务器来代理,客户端发来请求,先由反向代理服务器,按一定的规则分发到明确的服务器,但客户端不知道是哪台服务器,常用Nginx做反向代理

    二、负载均衡

    什么是负载均衡

    将工作任务或者访问请求进行平衡,然后分摊到多个单元、服务器或者组件上执行,解决高并发,高可用(单点故障)、扩展性(水平伸缩)的最高解决方案

    代码仓库定义

    开发人员分别将前段和后端代码都存入自己的代码仓库,由分支进行分类(分支、主分支、分分支)分类储存后,打包上传服务器

    后端打包工具Maven(打包为War、jar包)

    前段打包工具Npm、nodejs

    一般前端打包后会放入/usr/local/nginx/html目录当中(nginx配置)

    后端的打包回放入在Tomcat服务里的Webapps中

    私有仓库 gitlab

    公有仓库 github

    分流策略

    Nginx负载均衡模式(rr负载均衡模式)

    每个请求按时间顺序逐一分配到不同的后端服务器,如果超过了最大失败次数后(max_fails)默认为1,在失效时间内(fail_timeout)默认为10秒,该节点失效权重变为0,超过失效时间后,则恢复正常,或者全部节点都为down后,那么将所有节点都恢复为有效,继续探测,一般来说rr可以根据权重进行均匀分配

    权重

    least_conn(最少连接)

    优先将客户端请求调度到当前连接最少的服务器

    ip_hash(负载均衡模式)

    每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端的服务器,可以解决session的问题,但是ip_hash会造成负载不均,有的服务请求接受多,有的请求接受少,所以不建议采用ip_hash模式,session共享问题可用后端服务的session共享代替nginx的ip_hash

    fair(第三方负载均衡模式)

    按后端的服务器响应时间来分配请求,响应时间短的有限分配

    url_hash(第三方负载均衡模式)

    基于用户请求的url做hash,和ip_hash算法类似,是对每个请求按url的hash结果分配,使每个URL定向到同一个后端服务器,但也会造成分配不均的问题,这种模式后端服务器为缓存时比较好

    三、Nginx+Tomcat反向代理与负载均衡部署

    第一步 关闭防火墙和安全机制

    命令:systemctl stop firewalld

    setenforce 0

    Nginx+Tomcat反向代理与负载均衡的实现

    第二步 安装依赖环境

    命令:yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make

    Nginx+Tomcat反向代理与负载均衡的实现

    第三步 编译安装

    命令:./configure –prefix=/usr/local/nginx –user=nginx –group=nginx –with-file-aio –with-http_stub_status_module –with-http_gzip_static_module –with-http_flv_module

    Nginx+Tomcat反向代理与负载均衡的实现

    第四步 编译

    命令:make -j4 && make install

    Nginx+Tomcat反向代理与负载均衡的实现

    第五步 添加系统识别

    命令:ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin

    Nginx+Tomcat反向代理与负载均衡的实现

    第六步 编辑配置文件

    命令:vim /lib/systemd/system/nginx.service

    Nginx+Tomcat反向代理与负载均衡的实现

    第七步 赋权并启动服务

    命令:chmod 777 /lib/systemd/system/nginx.service

    systemctl start nginx

    systemctl enable nginx

    Nginx+Tomcat反向代理与负载均衡的实现

    第八步 查看指定端口服务

    命令:lsof -i:8080

    Nginx+Tomcat反向代理与负载均衡的实现

    第九步 用浏览器测试Nginx

    Nginx+Tomcat反向代理与负载均衡的实现

    第十步 部署Tomcat服务器

    Nginx+Tomcat反向代理与负载均衡的实现

    第十一步 解包到指定目录并优化路径

    命令:tar xf [压缩包名] -C [指定路径]

    Nginx+Tomcat反向代理与负载均衡的实现

    第十二步 修改配置文件

    命令:vim /etc/profile

    Nginx+Tomcat反向代理与负载均衡的实现

    第十三步 刷新文件

    命令:source /etc/profile

    Nginx+Tomcat反向代理与负载均衡的实现

    第十四步 重启Tomcat

    命令:/usr/local/tomcat/bin/shutdown.sh

    /usr/local/tomcat/bin/startup.sh

    Nginx+Tomcat反向代理与负载均衡的实现

    第十五步 查看对应端口

    命令:lsof -i:8080

    Nginx+Tomcat反向代理与负载均衡的实现

    第十六步 安装第三台虚拟机

    Nginx+Tomcat反向代理与负载均衡的实现

    第十七步 创建目录编辑动态页面

    Nginx+Tomcat反向代理与负载均衡的实现

    第十八步 修改配置文件

    Nginx+Tomcat反向代理与负载均衡的实现

    第十九步 重启Tomcat

    Nginx+Tomcat反向代理与负载均衡的实现

    第二十步 查看对应端口

    Nginx+Tomcat反向代理与负载均衡的实现

    第二十一步 用浏览器进行测试

    Nginx+Tomcat反向代理与负载均衡的实现

    第二十二步 第三台虚拟机配置Tomcat

    Nginx+Tomcat反向代理与负载均衡的实现

    第二十三步 修改动态页面内容

    Nginx+Tomcat反向代理与负载均衡的实现

    第二十四步 修改第一台静态页面

    Nginx+Tomcat反向代理与负载均衡的实现

    第二十五步 准备一个静态图片

    Nginx+Tomcat反向代理与负载均衡的实现

    第二十六步 配置Nginx文件

    Nginx+Tomcat反向代理与负载均衡的实现

    第二十七步 修改配置内容

    Nginx+Tomcat反向代理与负载均衡的实现

    第二十八步 用浏览器进行测试

    Nginx+Tomcat反向代理与负载均衡的实现

    Nginx+Tomcat反向代理与负载均衡的实现

    Nginx+Tomcat反向代理与负载均衡的实现

    Nginx+Tomcat反向代理与负载均衡的实现

    Nginx+Tomcat反向代理与负载均衡的实现

    以上就是Nginx+Tomcat反向代理与负载均衡的实现的详细内容,更多关于Nginx+Tomcat反向代理与负载均衡的资料请关注悠久资源其它相关文章!

    收藏 (0) 打赏

    感谢您的支持,我会继续努力的!

    打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
    点赞 (0)

    悠久资源 Nginx服务器 Nginx+Tomcat反向代理与负载均衡的实现 https://www.u-9.cn/server/nginx/114213.html

    常见问题

    相关文章

    发表评论
    暂无评论
    官方客服团队

    为您解决烦忧 - 24小时在线 专业服务