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

目录

一、正向代理与反向代理

正向代理

反向代理

二、负载均衡

什么是负载均衡

代码仓库定义

分流策略

权重

least_conn(最少连接)

ip_hash(负载均衡模式)

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

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

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

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

第二步 安装依赖环境

第三步 编译安装

第四步 编译

第五步 添加系统识别

第六步 编辑配置文件

第七步 赋权并启动服务

第八步 查看指定端口服务

第九步 用浏览器测试Nginx

第十步 部署Tomcat服务器

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

第十二步 修改配置文件

第十三步 刷新文件

第十四步 重启Tomcat

第十五步 查看对应端口

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

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

第十八步 修改配置文件

第十九步 重启Tomcat

第二十步 查看对应端口

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

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

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

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

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

第二十六步 配置Nginx文件

第二十七步 修改配置内容

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


一、正向代理与反向代理

正向代理

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

反向代理

屏蔽掉服务器的信息,经常用在多台服务器的分布式部署上,像一些大型网站,由于访问人数很多,就需要多台服务器来解决,由一个反向代理服务器来代理,客户端发来请求,先由反向代理服务器,按一定的规则分发到明确的服务器,但客户端不知道是哪台服务器,常用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反向代理与负载均衡_第1张图片

第二步 安装依赖环境

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

如何实现Nginx+Tomcat反向代理与负载均衡_第2张图片

第三步 编译安装

命令:./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反向代理与负载均衡_第3张图片

第四步 编译

命令:make -j4 && make install

如何实现Nginx+Tomcat反向代理与负载均衡_第4张图片

第五步 添加系统识别

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

第六步 编辑配置文件

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

如何实现Nginx+Tomcat反向代理与负载均衡_第5张图片

第七步 赋权并启动服务

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

systemctl start nginx

systemctl enable nginx

如何实现Nginx+Tomcat反向代理与负载均衡_第6张图片

第八步 查看指定端口服务

命令:lsof -i:8080

如何实现Nginx+Tomcat反向代理与负载均衡_第7张图片

第九步 用浏览器测试Nginx

如何实现Nginx+Tomcat反向代理与负载均衡_第8张图片

第十步 部署Tomcat服务器

如何实现Nginx+Tomcat反向代理与负载均衡_第9张图片

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

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

如何实现Nginx+Tomcat反向代理与负载均衡_第10张图片

第十二步 修改配置文件

命令:vim /etc/profile

如何实现Nginx+Tomcat反向代理与负载均衡_第11张图片

第十三步 刷新文件

命令:source /etc/profile

第十四步 重启Tomcat

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

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

如何实现Nginx+Tomcat反向代理与负载均衡_第12张图片

第十五步 查看对应端口

命令:lsof -i:8080

如何实现Nginx+Tomcat反向代理与负载均衡_第13张图片

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

如何实现Nginx+Tomcat反向代理与负载均衡_第14张图片

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

第十八步 修改配置文件

如何实现Nginx+Tomcat反向代理与负载均衡_第15张图片

第十九步 重启Tomcat

如何实现Nginx+Tomcat反向代理与负载均衡_第16张图片

第二十步 查看对应端口

如何实现Nginx+Tomcat反向代理与负载均衡_第17张图片

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

如何实现Nginx+Tomcat反向代理与负载均衡_第18张图片

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

如何实现Nginx+Tomcat反向代理与负载均衡_第19张图片

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

如何实现Nginx+Tomcat反向代理与负载均衡_第20张图片

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

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

如何实现Nginx+Tomcat反向代理与负载均衡_第21张图片

第二十六步 配置Nginx文件

如何实现Nginx+Tomcat反向代理与负载均衡_第22张图片

第二十七步 修改配置内容

如何实现Nginx+Tomcat反向代理与负载均衡_第23张图片

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

如何实现Nginx+Tomcat反向代理与负载均衡_第24张图片

如何实现Nginx+Tomcat反向代理与负载均衡_第25张图片

如何实现Nginx+Tomcat反向代理与负载均衡_第26张图片

如何实现Nginx+Tomcat反向代理与负载均衡_第27张图片

如何实现Nginx+Tomcat反向代理与负载均衡_第28张图片

你可能感兴趣的:(nginx,负载均衡,运维)