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

 更新时间:2023年07月04日 09:41:43   作者:Liu_Fang_Hong  
这篇文章给大家详细介绍了如何实现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

第二步 安装依赖环境

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

第三步 编译安装

命令:./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

第四步 编译

命令:make -j4 && make install

第五步 添加系统识别

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

第六步 编辑配置文件

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

第七步 赋权并启动服务

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

systemctl start nginx

systemctl enable nginx

第八步 查看指定端口服务

命令:lsof -i:8080

第九步 用浏览器测试Nginx

第十步 部署Tomcat服务器

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

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

第十二步 修改配置文件

命令:vim /etc/profile

第十三步 刷新文件

命令:source /etc/profile

第十四步 重启Tomcat

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

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

第十五步 查看对应端口

命令:lsof -i:8080

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

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

第十八步 修改配置文件

第十九步 重启Tomcat

第二十步 查看对应端口

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

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

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

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

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

第二十六步 配置Nginx文件

第二十七步 修改配置内容

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

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

相关文章

  • nginx代理服务器配置方法

    nginx代理服务器配置方法

    Nginx代理服务器是一种高性能的Web服务器和反向代理服务器,具有负载均衡、缓存加速、SSL终端、静态资源服务等多种功能,这篇文章主要介绍了nginx代理服务器配置,需要的朋友可以参考下
    2024-03-03
  • 配置nginx保证frps服务器与web共用80端口的方法

    配置nginx保证frps服务器与web共用80端口的方法

    这篇文章主要介绍了frps服务端与nginx可共用80端口的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • nginx+uwsgi启动Django项目的详细步骤

    nginx+uwsgi启动Django项目的详细步骤

    nginx+uwsgi+django是我们常用的django部署方式。这篇文章主要介绍了nginx+uwsgi启动Django项目的详细步骤,非常具有实用价值,需要的朋友可以参考下
    2018-10-10
  • 图文详解nginx日志切割的实现

    图文详解nginx日志切割的实现

    这篇文章主要给大家介绍了关于nginx日志切割实现的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-01-01
  • Nginx本地配置SSL访问的实例教程

    Nginx本地配置SSL访问的实例教程

    当一个项目部署测试服后会遇到跨域、SSL证书、访问静态文件等各种问题,这个时候我们就可以采用Nginx来解决上述的问题,下面这篇文章主要给大家介绍了关于Nginx本地配置SSL访问的相关资料,需要的朋友可以参考下
    2022-05-05
  • Nginx配置统计流量带宽请求及记录实时请求状态的方法

    Nginx配置统计流量带宽请求及记录实时请求状态的方法

    这篇文章主要介绍了Nginx中配置统计流量带宽请求及记录实时请求状态的方法,分别用到了ngx_req_status和ngx_realtime_request模块,需要的朋友可以参考下
    2016-01-01
  • Nginx反向代理springboot的jar包过程解析

    Nginx反向代理springboot的jar包过程解析

    这篇文章主要介绍了Nginx反向代理springboot的jar包过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • Nginx带宽控制(限速模块使用)

    Nginx带宽控制(限速模块使用)

    这篇文章主要介绍了Nginx带宽控制(限速模块使用),本文讲解了使用limit_rate和limit_rate_aft以及limit_conn实现带宽控制的例子,需要的朋友可以参考下
    2015-03-03
  • nginx启动服务提示98: Address already in use错误的解决

    nginx启动服务提示98: Address already in use错误的解决

    这篇文章主要给大家介绍了nginx启动服务提示98: Address already in use错误的解决方法,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-05-05
  • Nginx使用反向代理实现负载均衡过程解析

    Nginx使用反向代理实现负载均衡过程解析

    这篇文章主要介绍了Nginx使用反向代理实现负载均衡过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09

最新评论