Windows中部署Tomcat集群
1.新建文件夹tomcats
准备3台tomcat
测试:
错点:
使用的是7无缓存版本,但是扔显示8。解决:将环境变量中的catalina删掉。
~~删除线格式~~
2.修改配置文件
第一台8005
第二台8006
第三台8007
此位置第一台8091,第二台8092,第三台8093
此位置第一台8009,第二台8010,第三台8011
二、发布部署项目
将Javaweb项目Run as-》Maven install
将拷贝到三台tomcat服务器webapps 中,将ROOT文件夹删掉,把war文件重命名为ROOT.war
重启8093服务器
目测需要保证三个startup.bat都开启的状态,才能保证三个端口号对应项目可访问
三、Nginx负载均衡
特点:根据配置玩家顺序,一次访问不同的tomcat服务器
修改nginx.conf
#配置tomcat负载均衡,1-轮询策略upstream jt {server localhost:8091;server localhost:8092;server localhost:8093;}#后台管理系统server {listen 80;server_name manage.jt.com;location / {proxy_pass http://jt;}}
2.重启Nginx
3.改造三台服务器的主页呈现,结果
四、权重:
特点:根据服务器处理能力不同,动态划分请求,处理能力越高,所处理请求越多。
#配置tomcat负载均衡,1-轮询策略 2-权重upstream jt {server localhost:8091 weight=6;server localhost:8092 weight=3;server localhost:8093 weight=1;}
解释:10次访问中6次访问91,3次访问92,1次访问93
五、ip_hash
实际问题 :采用集群的方式不能实现用户session共享,因为不同的tomcat之间是物理隔离,如何解决?
专业术语:
session黏着:指session共享
解决方案:
A:采用sessionid进行url重写
优点:可以实现Session共享,cookie禁用【拼接id】
缺点:效率太低
B:使用Nginx中的IP_HASH技术,能够根据用户的IP动态的绑定一台服务器,变相实现Session共享,Ip_hash优先级最高,配置后轮询和权重不生效【一般也不使用】
缺点:1.如果服务器宕机,用户访问受限
2.使用ip_hash导致负载不均
3.安全性不好
C:实现单点登录(SSO)用户登陆一次 后期使用信用登录
六、Nginx故障迁移
1.手动下线
可在upstream中给服务器 配置down;
server localhost:8091 weight=6 down;
2.备用机机制 backup
server localhost:8093 weight=1 backup;
3.设定超时时间
proxy_connect_timeout 3; proxy_read_timeout 3; proxy_send_timeout 3;
4.健康检测
说明:在规定周期内,用户会通过健康检测,检查当前服务器是否可用,如果发现服务器宕机,则咋当前周期内不会再将请求发送到故障机。直到下一个周期后再继续提供服务。
#ip_hash;server localhost:8090 max_fails=1 fail_timeout=60s;server localhost:8091 max_fails=1 fail_timeout=60s;server localhost:8092 max_fails=1 fail_timeout=60s;
可做测试
七.公司中服务器部署步骤【※】
- 根据本次部署的策略,将服务器进行分类
- 将需要部署的服务器进行下线处理down
- 将war包发布到指定的tomcat服务器中,之后进行测试,如果测试无误,将该服务器上线即可 之后一次上线其他的服务器
Windows中部署Tomcat集群相关推荐
- Windows下搭建Tomcat集群的配置详解
< Windows下搭建Tomcat集群基础入门详解 > 前言 在搭建 < Apache + Tomcat 实现Web服务器集群 > 前我们还需要实现 Tomcat集群实现Se ...
- kubernetes入门到精通(二):k8s部署Tomcat集群,基于NTFS协议的文件集群共享,Service提供负载均衡,端口转发工具Rinetd配置外部访问
首先,配置 Docker 镜像加速服务 登录阿里云账号,进入控制台 -> 容器镜像服务 (不需要有阿里云的服务器,只要注册账号即可) 在两台 node 节点上配置好阿里云的镜像加速. 重启一下 ...
- 7条命令在docker中部署Mesos集群
7条命令在docker中部署Mesos集群 所有使用的Docker容器构建文件是有也.您可以在本地构建每个容器或只使用位于Docker Hub预构建的容器.下面的命令会自动下载所需的预建的容器为您服务 ...
- k8s 中部署kafka集群
由于开发过程中使用到了kafka,又不想自己部署kafka,索性采用k8s 部署kafka集群,以求做到随时插拔. 创建命名空间 apiVersion: v1 kind: Namespace meta ...
- k8s Dashboard部署Tomcat集群
外部访问端口: k8s对整个集群健康状态进行监控,若某一节点容器宕机的话,k8s会自动重启容器!
- K8S Deployment脚本部署Tomcat集群
Deployment脚本范本 部署相关常用命令 kubectl apply 是更新已经存在的脚本 kubectl create 是创建部署脚本 vim tomcat-deploy.yml replic ...
- Tomcat集群快速入门2
首先讲一下mac和linux下,tomcat单击部署多应用,就是一台服务器部署多个应用,首先修改etc/profile,也就是说,我们这个系统的环境变量,我们增加6个环境变量,我们先看前三个,右边的t ...
- 教你在Kubernetes中快速部署ES集群
摘要:ES集群是进行大数据存储和分析,快速检索的利器,本文简述了ES的集群架构,并提供了在Kubernetes中快速部署ES集群的样例:对ES集群的监控运维工具进行了介绍,并提供了部分问题定位经验,最 ...
- Nginx+Tomcat集群环境搭建
Tomcat集群能带来什么? 提高服务的性能.并发能力.以及高可用性 提高项目架构的横向扩展能力 提高服务的性能 实际公司线上生产环境都会选择一台机器部署一个tomcat,多台机器完成集群,毕竟一台机 ...
最新文章
- Android 模仿微信启动动画(转)
- innodb和my查询速度_mysql存储引擎MyISAM和InnoDB
- 187. Repeated DNA Sequences重复的DNA子串序列
- 用于金融时序预测的神经网络:可改善经典的移动平均线策略
- SQL约束脚本的用法
- 20190816:(leetcode习题)有效的数独
- React-Native 爬坑爬坑
- jq跨域代理_JQuery前端跨域问题的七种解决方案
- 高等数学(下)知识点总结(1)
- 格雷码和二进制相互转换
- 用Retinaface_pytorch项目检测人脸+ Python 3 剪切人脸图片并保存
- ENVI:如何进行遥感图像的分类?(支持向量机模型)
- Kubuntu22.04中discover无法启动Software Source
- coreldraw2021永久序列号和激活注册教程
- (MATLAB)错误使用 xlsread (line 260) 无法激活 Excel 工作表
- 怎么ping IP地址,怎么ping域名
- 如何靠区块链赚钱?区块链到底是不是骗局?
- mysql 校对规则作用_讲讲Mysql中的校对规则究竟是怎么一回事
- bottom sheets_Excel 2013中的SHEET和SHEETS函数
- LaTex使用技巧10:公式中的各种英文字体