零基础搭建Tomcat集群(超详细)

article/2025/9/23 15:56:33

💗推荐阅读文章💗

  • 🌸JavaSE系列🌸👉1️⃣《JavaSE系列教程》
  • 🌺MySQL系列🌺👉2️⃣《MySQL系列教程》
  • 🍀JavaWeb系列🍀👉3️⃣《JavaWeb系列教程》
  • 🌻SSM框架系列🌻👉4️⃣《SSM框架系列教程》

文章目录

  • 一、准备工作
    • 1.1 Tomcat集群架构图
    • 1.2 准备工具
  • 二、搭建步骤
    • 2.1 Tomcat配置
      • 2.1.1 解压两个Tomcat
      • 2.1.2 修改页面
      • 2.1.3 修改端口
      • 2.1.4 启动Tomcat
    • 2.2 配置代理服务器(Nginx)
      • 2.2.1 解压Nginx
      • 2.2.2 启动Nginx
      • 2.2.3 关闭Nginx
      • 2.2.4 配置Nginx代理
        • 1)定义集群组:
        • 2)代理配置
    • 2.3 测试集群效果

一、准备工作

1.1 Tomcat集群架构图

  • 未搭建Tomcat集群架构图如下:

  • 搭建Tomcat集群架构图如下:


1.2 准备工具

  • nginx-1.17.0.zip(windows):https://pan.baidu.com/s/1OqC0_7d7uXkbpwDphrlLNg
  • apache-tomcat-8.0.43:https://pan.baidu.com/s/1DzM2TFz2GDsEAyWagVtVuQ


二、搭建步骤

2.1 Tomcat配置

2.1.1 解压两个Tomcat

解压两个Tomcat,命名为Tomcat-8080、Tomcat9090:

2.1.2 修改页面

为了区分访问的是不同的两个Tomcat,这里修改一下两个Tomcat的首页;

  • 修改Tomcat-8080/webapps/ROOT/index.jsp的内容:

  • 修改Tomcat-9090/webapps/ROOT/index.jsp的内容:


2.1.3 修改端口

Tomcat-8080不用修改,修改Tomcat-9090的配置文件(conf/server.xml):

  • 1)修改8005端口为8015端口:

Tomcat启动时会占用8005端口,Tomcat-8080服务器启动已经占用了8005,因此Tomcat-9090这台服务器我们改成8015;

  • 2)修改8080端口为9090端口:

该端口是HTTP访问的端口,我们改为9090(Tomcat-8080服务器不用修改);

  • 3)修改8009端口为8019端口:

Tomcat启动时会占用8009端口,Tomcat-8080服务器启动已经占用了8009,因此Tomcat-9090这台服务器我们改成8019;

2.1.4 启动Tomcat

  • 启动Tomcat-8080服务器:

  • 启动Tomcat-9090服务器:


访问http://localhost:8080:

访问http://localhost:9090:

2.2 配置代理服务器(Nginx)

2.2.1 解压Nginx

注意:Nginx的所在目录不能包含中文!

2.2.2 启动Nginx

  • 1)打开CMD窗口,执行Nginx命令:


Nginx的默认端口是80,由于HTTP协议的默认端口也是80,因此我们直接在浏览器上输入:http://localhost即可访问到Ngxin服务器;
当然,你输入:http://localhost:80也能访问;

2.2.3 关闭Nginx

关闭Nginx很简单,直接把刚刚的CMD窗口关闭即可;

但Nginx在Windows操作系统上会有些Bug,大家最好测试一下关闭后是否还能访问到Nginx,如果还能访问到,那就意味着Nginx没有关闭,我们需要打开任务管理器来关闭;
按住windows+r,打开运行窗口,输入taskmgr打开任务管理器:

在任务管理器中关闭Nginx相关的所有进程:

2.2.4 配置Nginx代理

还记得一开始的那张图吗:

客户端以后都是访问到Nginx(代理服务器),然后由Nginx将请求转发到Tomcat(web服务器)
所以,我们要在Nginx中进行相关配置;
编辑nginx/conf/nginx.conf配置文件:

1)定义集群组:


怕自己编写错误的那就直接复制我的吧(注意,一定要将配置编写在http模块下):

# 定义一个集群组
upstream web_cluster{# 第一台机器的地址server 127.0.0.1:8080;# 第二台机器的地址server 127.0.0.1:9090;
}

2)代理配置

  • 只需要把Nginx的http模块下的server模块下的location配置替换成下面的即可:
location / {proxy_pass http://web_cluster;index  index.html index.htm;
}
  • 配置完成的Nginx的配置文件(如果你实在拿不稳,就全盘复制我的吧):

#user  nobody;
worker_processes  1;#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;#pid        logs/nginx.pid;events {worker_connections  1024;
}http {# 定义一个集群组upstream web_cluster{# 第一台机器的地址server 127.0.0.1:8080;# 第二台机器的地址server 127.0.0.1:9090;}include       mime.types;default_type  application/octet-stream;#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '#                  '$status $body_bytes_sent "$http_referer" '#                  '"$http_user_agent" "$http_x_forwarded_for"';#access_log  logs/access.log  main;sendfile        on;#tcp_nopush     on;#keepalive_timeout  0;keepalive_timeout  65;#gzip  on;server {listen       80;server_name  localhost;#charset koi8-r;#access_log  logs/host.access.log  main;#location / {#    root   html;#    index  index.html index.htm;#}location / {proxy_pass http://web_cluster;index  index.html index.htm;}#error_page  404              /404.html;# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {#    proxy_pass   http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000##location ~ \.php$ {#    root           html;#    fastcgi_pass   127.0.0.1:9000;#    fastcgi_index  index.php;#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;#    include        fastcgi_params;#}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one##location ~ /\.ht {#    deny  all;#}}# another virtual host using mix of IP-, name-, and port-based configuration##server {#    listen       8000;#    listen       somename:8080;#    server_name  somename  alias  another.alias;#    location / {#        root   html;#        index  index.html index.htm;#    }#}# HTTPS server##server {#    listen       443 ssl;#    server_name  localhost;#    ssl_certificate      cert.pem;#    ssl_certificate_key  cert.key;#    ssl_session_cache    shared:SSL:1m;#    ssl_session_timeout  5m;#    ssl_ciphers  HIGH:!aNULL:!MD5;#    ssl_prefer_server_ciphers  on;#    location / {#        root   html;#        index  index.html index.htm;#    }#}}

2.3 测试集群效果

把Tomcat-8080、Tomcat9090、Nginx等服务器都启动;
访问:http://lcoalhost,发现两台web服务器能够同时提供服务;

Nginx默认的集群策略是负载均衡,即将请求平均分到到每台web服务器;


http://chatgpt.dhexx.cn/article/ShCVxKGe.shtml

相关文章

Nginx 搭建Tomcat集群

目录 一、架构图 二、配置上游服务器 三、配置集群服务 四、加权负载均衡 五、配置最大连接数 六、启动慢增长 一、架构图 二、配置上游服务器 打开config/nginx.conf 添加配置如下: 三、配置集群服务 刷新nginx后,集群配置完毕! 四…

Tomcat集群及Session共享

Tomcat集群 由于单台Tomcat的承载能力是有限的,当我们的业务系统用户量比较大,请求压力比较大时,单台Tomcat是扛不住的,这个时候,就需要搭建Tomcat的集群,而目前比较流行的做法就是通过Nginx 来实现Tomcat…

Windows中部署Tomcat集群

1.新建文件夹tomcats 准备3台tomcat 测试: 错点: 使用的是7无缓存版本,但是扔显示8。解决:将环境变量中的catalina删掉。 ~~删除线格式~~ 2.修改配置文件 第一台8005 第二台8006 第三台8007 此位置第一台8091&#xff…

Nginx+Tomcat集群环境搭建

Tomcat集群能带来什么? 提高服务的性能、并发能力、以及高可用性提高项目架构的横向扩展能力 提高服务的性能 实际公司线上生产环境都会选择一台机器部署一个tomcat,多台机器完成集群,毕竟一台机器部署多个tomcat还是有一些共享瓶颈的&…

tomcat集群

tomcat集群 什么是集群 集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平台。在客户端看来,一个集群就象是一个服务实体,但 事实上集群由一组服务实体组成。 集群的特性 与单一服务实体相比较,…

tomcat集群部署

tomcat集群部署 1 创建2个 tomcat 2 将 tomcat 官网文档的配置示例复制到 server.xml文件中 3 修改 server.xml 文档中的参数配置 3.1 Cluster    className表示tomcat集群时,之间相互传递信息使用那个类来实现信息之间的传递。channelSendOptions可以设置为2、4、8、10&a…

Nginx+tomcat集群

Nginxtomcat集群 定义:在测试环境中有多个tomcat运行这一个项目,需要nginx管理 2特点:1,增加项目访问能力 2,增加服务器性能 3,实现不同负载均衡 3负载均衡:根据每台服务器的性能分配其能承受住…

Tomcat集群配置

1.Tomcat集群 多个 Tomcat 服务器构成了一个集群(Cluster)系统,共同为客户提供服务。集群系统具有以下优点: 高可靠性高性能计算负载平衡 图1-1显示了由 JK插件和两个 Tomcat服务器构成的集群系统。集群系统的正常运作离不开以…

Tomcat 集群搭建入门

简介 由于单台Tomcat的承载能力是有限的,当我们的业务系统用户量比较大,请求压力比较大时,单台Tomcat是扛不住的,这个时候,就需要搭建Tomcat的集群,而目前比较流程的做法就是通过Nginx来实现Tomcat集群的负…

Tomcat 集群部署

Tomcat快速入门 Tomca基本介绍 环境准备 JVM介绍Java业务都是运行在java虚拟机上,java虚拟机简称JVM( java virtual machine) ​ 虚拟机是通过软件模拟出具有完整硬件系统的功能 ​ 为什么Java需要JVM虚拟机 ​ 早期C语言不支持跨平台,如果C语言想…

Tomcat系列之五:Tomcat集群

基于mod_proxy实现负载均衡 在httpd.conf中启用httpd-proxy.conf配置文件&#xff0c; Include /etc/httpd/extra/httpd-proxy.conf 修改httpd-proxy.conf文件&#xff1a; ProxyRequests Off <proxy balancer://lbcluster1>BalancerMember ajp://192.168.1.211:8009 loa…

集群与jetspeed

1 、 集群背景介绍 1.1 术语定义服务软体是b/s或c/s结构的s部分&#xff0c;是为b或c提供服务的服务性软件系统。 服务硬体指提供计算服务的硬件、比如pc机、pc服务器。 服务实体通指服务软体和服务硬体。 客户端指接受服务实体服务的软件或硬件。 1.2 两大关键特性集…

Tomcat集群搭建超详细

TOMCAT集群 目录 TOMCAT集群 1 1 集群 1 1.1 什么是集群 1 1.2 集群的特性 1 1.3 集群的分类 1 1.4 TOMCAT集群配置的优缺点 2 1.5 APACHETOMCAT 2 1.6 环境说明 2 2 软件安装 3 2.1 安装说明 3 2.2 JDK安装 3 2.3 APACHE安装 4 2.4 TOMCAT安装 4 3 集群配置 6 …

JAXB元素详解

JAXB简介 JAXB&#xff08;Java Architecture for XML Binding) 是一个业界的标准&#xff0c;是一项可以根据XML Schema产生Java类的技术。该过程中&#xff0c;JAXB也提供了将XML实例文档反向生成Java对象树的方法&#xff0c;并能将Java对象树的内容重新写到XML实例文档。从…

xml java jaxb_【Java】JAXB操作XML用法详解

什么是JAXB? JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术。在JAX-WS(Java的WebService规范之一)中,JAXB可以实现对象和XML之间相互转换。Unmarshaller类管理将XML数据反序列化为新创建的Java内容树的进程,并可在解…

java jaxb 注解_一、JAXB注解的使用详解

一、首先先上一段测试的代码下面的说明和测试都已这一段代码为主 package shiqingxue.cn.itcast.utils.xml; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax…

JAXB应用实例

博文目录 一 JavaBean和XML相互转换初体验二 JAXB使用基础介绍三 应用实际四 问题补充 正文 过往的项目中数据存储都离不开数据库&#xff0c;不过最近做的一个项目的某些数据&#xff08;比如人员信息、菜单、权限等等&#xff09;却完全没有涉及任何数据库操作&#xff0c;直…

JAXB常用注解讲解(超详细)

简介&#xff1a; JAXB&#xff08;Java Architecture for XML Binding) 是一个业界的标准&#xff0c;是一项可以根据XML Schema产生Java类的技术。该过程中&#xff0c;JAXB也提供了将XML实例文档反向生成Java对象树的方法&#xff0c;并能将Java对象树的内容重新写到XML实例…

OpenCV-Python (Canny边缘检测)

Canny边缘检测是一种非常流行的边缘检测算法&#xff0c;是John Canny在1986年提出的。它是一个多阶段的算法&#xff0c;即由多个步骤构成。 图像降噪计算图像梯度非极大值抑制阈值筛选 原型 OpenCV-Python中Canny函数的原型为&#xff1a; edge cv2.Canny(image, thresh…

python-opencv之边缘检测(cv2.Canny)

理论 Canny边缘检测是一种常用的边缘检测算法&#xff0c;并且他是一个多阶段的算法&#xff0c;分成如下几个阶段&#xff1a; 1. 消除噪声 由于边缘检测容易受到图像中噪声的影响&#xff0c;第一步是用5x5高斯滤波器去除图像中的噪声。 2. 寻找图像的强度梯度 然后对平滑后…