Tomcat多实例配置与tomcat反向代理集群

目录

Tomcat多实例配置

1.首先配置Tomcat单实例

2.tomcat多实例配置

1.1复制单实例tomcat

1.2修改端口,以启动多实例。多实例之间端口不能一致

1.3对比文件不同之处

3.启动tomcat

4.检查端口查看是否启动:

5.测试浏览器访问

 二、tomcat反向代理集群

 1、负载均衡器说明

2、配置负载均衡器

3.启动nginx

4.使用命令进行访问测试

5.、在浏览器上进行访问测试


Tomcat多实例配置

多实例(多进程):同一个程序启动多次,分为两种情况:

第一种:一台机器跑多个站点;

第二种:一个机器跑一个站点多个实例,配合负载均衡

1.首先配置Tomcat单实例

单实例配置参考博主博客
部署TOMCAT详解-CSDN博客

2.tomcat多实例配置

1.1复制单实例tomcat
[root@java-tomcat1 application]# cp -r tomcat/ tomcat2
[root@java-tomcat1 application]# cp -r tomcat/ tomcat3
1.2修改端口,以启动多实例。多实例之间端口不能一致
[root@java-tomcat1 application]# sed -i 's#8005#8011#;s#8080#8081#' tomcat2/conf/server.xml
[root@java-tomcat1 application]# sed -i 's#8005#8012#;s#8080#8082#' tomcat3/conf/server.xml
1.3对比文件不同之处
[root@java-tomcat1 application]# diff tomcat2/conf/server.xml tomcat3/conf/server.xml

3.启动tomcat

[root@java-tomcat2 application]# cd /data/application/tomcat2/bin/
[root@java-tomcat2 bin]# vim start.sh
#!/bin/bash
#tomcat2
export CATALINA_BASE="/data/application/tomcat2"

case "$1" in

start)
    $CATALINA_BASE/bin/startup.sh
    ;;
stop)
    $CATALINA_BASE/bin/shutdown.sh
esac
[root@java-tomcat2 bin]# chmod +x start
#修改catalina.sh ---添加如下内容
[root@java-tomcat2 bin]# vim catalina.sh
CATALINA_HOME=/data/application/tomcat2  #添加的环境变量注意修改
[root@java-tomcat bin]# cd /data/application/tomcat3/bin/
[root@java-tomcat3 bin]# vim start.sh
#!/bin/bash
#tomcat3
export CATALINA_BASE="/data/application/tomcat3"

case "$1" in

start)
    $CATALINA_BASE/bin/startup.sh 
    ;;
stop)
    $CATALINA_BASE/bin/shutdown.sh
esac
[root@java-tomcat3 bin]# chmod +x start.sh
[root@java-tomcat3 bin]# vim catalina.sh
CATALINA_HOME=/data/application/tomcat3
启动:
[root@java-tomcat2 ~]# /data/application/tomcat2/bin/start.sh start
[root@java-tomcat2 ~]# /data/application/tomcat3/bin/start.sh start

4.检查端口查看是否启动:

[root@java-tomcat1 application]# netstat -lntp | grep java 
tcp6       0      0 127.0.0.1:8011          :::*                    LISTEN      1729/java           
tcp6       0      0 127.0.0.1:8012          :::*                    LISTEN      1783/java           
tcp6       0      0 :::8081                 :::*                    LISTEN      1729/java           
tcp6       0      0 :::8082                 :::*                    LISTEN      1783/java           
tcp6       0      0 :::8019                 :::*                    LISTEN      1729/java           
tcp6       0      0 :::8029                 :::*                    LISTEN      1783/java

5.测试浏览器访问

http://192.168.50.114:8081/

http://192.168.50.114:8082/

 

 二、tomcat反向代理集群

 1、负载均衡器说明

 关闭防火墙和selinux

yum安装nginx
[root@nginx-proxy ~]# cd /etc/yum.repos.d/
[root@nginx-proxy yum.repos.d]# vim nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
[root@nginx-proxy yum.repos.d]# yum install yum-utils -y
[root@nginx-proxy yum.repos.d]# yum install nginx -y

2、配置负载均衡器

备份原配置文件并修改

[root@nginx-proxy ~]# cd /etc/nginx/conf.d/
[root@nginx-proxy conf.d]# cp default.conf default.conf.bak
[root@nginx-proxy conf.d]# mv default.conf tomcat.conf
[root@nginx-proxy conf.d]# vim tomcat.conf
server {
    listen       80;
    server_name  localhost;
    access_log  /var/log/nginx/proxy.access.log  main;

    location / {
       proxy_pass http://testweb;
       proxy_set_header Host $host:$server_port;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }       
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    } 
}
创建upstream配置文件:
[root@nginx-proxy conf.d]# vim upstream.conf
upstream testweb {
	server 192.168.50.114:8081 weight=1 max_fails=1 fail_timeout=2s;
	server 192.168.50.114:8082 weight=1 max_fails=1 fail_timeout=2s;
}

3.启动nginx

[root@nginx-proxy ~]# systemctl start nginx

4.使用命令进行访问测试

使用curl 命令进行测试,tail进行关键字提取

[root@nginx-proxy ~]# curl -s 192.168.50.118 | tail -1 
8082
[root@nginx-proxy ~]# curl -s 192.168.50.118 | tail -1 
8081

5.、在浏览器上进行访问测试

http://192.168.50.118/

http://192.168.50.118/

         

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/358586.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【AI】Chinese-LLaMA-Alpaca-2 7B llama.cpp 量化方法选择及推理速度测试 x86_64 RTX 2060 6G 显存太小了

环境 操作系统 CPU 内存 生成量化版本模型 转换出q4_0 q4_k q6_k q8_0模型 cd ~/Downloads/ai/llama.cpp sourvce venv/bin/activate ~/Downloads/ai/llama.cpp/quantize /home/yeqiang/Downloads/ai/chinese-alpaca-2-7b/ggml-model-f16.gguf /home/yeqiang/Downloads/ai/ch…

elk之安装和简单配置

写在前面 本文看下elk的安装和简单配置,安装我们会尝试通过不同的方式来完成,也会介绍如何使用docker,docker-compose安装。 1:安装es 1.1:安装单实例 下载es安装包 在这里 下载,下载后解压到某个目录…

使用 Node.js 和 Cheerio 爬取网站图片

写一个关于图片爬取的小案例 爬取效果 使用插件如下: {"dependencies": {"axios": "^1.6.0","cheerio": "^1.0.0-rc.12","request": "^2.88.2"} }新建一个config.js配置文件 // 爬取图片…

企业内部知识库搭建原来这么轻松,靠这五步马上完成

在信息爆炸的时代,有效地管理企业内部的巨量信息,已经成为企业效率提升和竞争优势形成的关键。而一套完善的企业内部知识库,就是解决这个问题的第一步。那么如何建立起一个功能完备、使用便捷的知识库呢?只需要五步,你…

Leetcode—1828. 统计一个圆中点的数目【中等】

2024每日刷题&#xff08;一零五&#xff09; Leetcode—1828. 统计一个圆中点的数目 实现代码 class Solution { public:vector<int> countPoints(vector<vector<int>>& points, vector<vector<int>>& queries) {vector<int> a…

npm 被滥用 -- 有人上传了 700 多个武林外传切片视频

Sonatype 安全研究团队最近曝光了一起滥用 npm 的案例 —— 他们发现在 npm 上托管的 748 个软件包实际上是视频文件。 据介绍&#xff0c;这些软件包每个大小约为 54.5MB&#xff0c;包名以 “wlwz” 为前缀&#xff0c;并附带了代表日期的数字。根据时间戳显示&#xff0c;这…

❤搭建一个Springboot项目(ltbjava)

❤从0实现一个项目 搭建好我们的java环境和运行的IDEA软件以后&#xff0c;接下来我们就应该实现一个自己的项目了 0 项目描述 基于jdk17 的学习&#xff0c;因为据说最新的spring框架的最低要求是jdk17Maven 3.8.7PS&#xff1a;springboot3.0版本以上必须用jdk171、 项目创…

永磁同步电机位置闭环控制

文章目录 1、位置环分析与调节器2、电机参数3、模型总览4、位置给定与波形5、位置环前馈控制5.1 前馈模型5.2 位置前馈控制效果 模型下载地址&#xff1a; 链接: 位置闭环模型&#xff08;位置速度电流三闭环模型&#xff09; 1、位置环分析与调节器 2、电机参数 Vdc24; Rs0.…

ps缺少msvcp140.dll要怎么办?多种解决msvcp140.dll的方法分享

当您在尝试打开Adobe Photoshop时&#xff0c;如果遭遇一个典型的错误&#xff1a;“程序无法启动&#xff0c;因缺少MSVCP140.dll文件”&#xff0c;请放心&#xff0c;这并不少见&#xff0c;许多Photoshop用户都可能曾面临过这种情况。处理这个问题实际上是相当简单的。接下…

【LeetCode】530. 二叉搜索树的最小绝对差(简单)——代码随想录算法训练营Day21

题目链接&#xff1a;530. 二叉搜索树的最小绝对差 题目描述 给你一个二叉搜索树的根节点 root &#xff0c;返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数&#xff0c;其数值等于两值之差的绝对值。 示例 1&#xff1a; 输入&#xff1a;root [4,2,6,1,3] …

扭蛋机小程序开发,助力企业发展,实现营收

扭蛋机提起想必大家并不陌生&#xff0c;它与当下爆火的盲盒异曲同工&#xff0c;甚至是盲盒的前身。与盲盒不同的是&#xff0c;扭蛋机中的商品大多是一些以动漫为主题的小玩具、小玩偶&#xff0c;具有价格低、性价比高的优势。相比与高昂的手办&#xff0c;扭蛋机一经上市就…

webassembly003 TTS BARK.CPP

TTS task TTS&#xff08;Text-to-Speech&#xff09;任务是一种自然语言处理&#xff08;NLP&#xff09;任务&#xff0c;其中模型的目标是将输入的文本转换为声音&#xff0c;实现自动语音合成。具体来说&#xff0c;模型需要理解输入的文本并生成对应的语音输出&#xff0…

「仅需三次鼠标,即可开服」幻兽帕鲁全自动部署教程

在帕鲁的世界&#xff0c;你可以选择与神奇的生物「帕鲁」一同享受悠闲的生活&#xff0c;也可以投身于与偷猎者进行生死搏斗的冒险。帕鲁可以进行战斗、繁殖、协助你做农活&#xff0c;也可以为你在工厂工作。你也可以将它们进行售卖&#xff0c;或肢解后食用。 本文将为您提…

qt5-入门

参考&#xff1a; qt学习指南 Qt5和Qt6的区别-CSDN博客 Qt 学习之路_w3cschool Qt教程&#xff0c;Qt5编程入门教程&#xff08;非常详细&#xff09; 本地环境&#xff1a; win10专业版&#xff0c;64位 技术选择 Qt5力推QML界面编程。QML类似HTML&#xff0c;可以借助CSS进…

TypeScript(六) 循环语句

1. TypeScript循环语句 1.1. 简述 有的时候&#xff0c;我们可能需要多次执行同一块代码。一般情况下&#xff0c;语句是按顺序执行的&#xff1a;函数中的第一个语句先执行&#xff0c;接着是第二个语句&#xff0c;依此类推。   循环语句允许我们多次执行一个语句或语句组…

栈的基本知识

链表的优点&#xff1a;在任何位置插入删除O(1) 链表的缺点&#xff1a;不支持下标的随机访问&#xff0c;需要通过特定函数实现 顺序表的缺点&#xff1a;在前面部分插入数据&#xff0c;效率是O(N)&#xff0c;需要挪动数据&#xff0c;要求连续的物理空间如果空间不够要扩…

AI投资或成科技裁员罪魁祸首

最近的科技裁员让许多人对这个行业的稳定性产生了疑问。然而&#xff0c;仔细观察发现&#xff0c;这些裁员并不是经济困境的迹象&#xff0c;而是科技公司为了重新调整优先事项并投资未来而进行的战略举措。科技行业正投入数十亿美元用于人工智能&#xff08;AI&#xff09;&a…

大模型——推理优化——KV Cache

在本文中&#xff0c;我们将详细介绍KV Cache&#xff0c;这是一种大模型推理加速的方法。 正如其名称所示&#xff0c;该方法通过缓存Attention中的K和V来实现推理优化。 一、大模型推理的冗余计算 我们先简单观察一下基于Decoder架构的大模型的生成过程 用户输入“中国的首…

springboot本地测试

文章目录 本地测试引入依赖进入StudentMapper右键点击生成 项目结构 本地测试 引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope> </d…

【劳德巴赫 Trace32 高阶系列 3 -- trace32 svf 文件操作命令】

请阅读【嵌入式开发学习必备专栏 之 Trace32 系列 】 文章目录 Trace32 SVF 文件操作命令JTAG.PROGRAM.autoJTAG.PROGRAM.SVF命令参数介绍IRPREIRPOSTDRPREDRPOSTInitStateIgnoreTDOVerbose使用示例Trace32 SVF 文件操作命令 JTAG.PROGRAM.auto Format: JTAG.PROGRAM.</