2、Tomcat集群实战,并用Nginx实现负载均衡(win环境)

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介: 1、Tomcat的配置1、系统环境变量配置:首先要实现Tomcat的集群就得拥有多个tomcat,所以我在本地电脑下载了两个Tomcat,我这里使用的是Tomcat7,当然,配置与Tomcat的版本没多大关系~image.

1、Tomcat的配置

1、系统环境变量配置:

首先要实现Tomcat的集群就得拥有多个tomcat,所以我在本地电脑下载了两个Tomcat,我这里使用的是Tomcat7,当然,配置与Tomcat的版本没多大关系~


img_fb98a0019b88a233d917dbf29ba95b60.png
image.png

下载之后我们先来配置好环境变量:


img_2301322a0d2d6759d7a07479971c6b4f.png
image.png

img_7e5dbb65d2a205bf88f7a4c7c98fd650.png
image.png

在我们的系统变量中增加上面六个对应变量值,对应变量的对应值,是根据自己Tomocat所在的目录决定的,配置的时候自己注意下~

2、更改Tomcat的配置文件

1、tomcat1的修改

首先,我们弄了两个Tomcat,一个tomcat1、一个tomcat2,我们以tomcat1为默认tomcat,然后在tomcat2的基础上更改。
tomcat1上我们只增加一个UTF-8的配置,我们打开tomcat1 conf目录下面的server.xml文件,添加如图所示的:URIEncoding="UTF-8" 配置,防止乱码

img_069a861edd5d9865f08e375f2cfa9fcc.png
image.png
1、tomcat2的修改

首先,
1、tomcat2要修改的第一点是和上面 tomcat1一样,增加URIEncoding="UTF-8" 配置,防止乱码。
2、更改tomcat2server.xml配置文件里面的相关端口,如下图所示操作即可。

img_c1e3319b79a6f46381d8740680a5c6bc.png
image.png

img_f8e19d1b6c30840be62636b8a3c6d066.png
image.png

img_3baabb7afeb8a84b7c079821b381ecd9.png
image.png

3、修改 tomcat2 / bin目录下面的相关文件:
img_1d26f9ab8942428a1bd7b5b6f6c14674.png
image.png

修改上图所示的 catalina.batstartup.bat这两个配置文件
使用文本编辑器: Sublime Text或者 Notepad++软件打开上面两个 .bat文件:
需要更改两个地方:
①:我们需要将这两个 .bat文件里面的 CATALINA_HOME全部替换成: CATALINA_2_HOME
②: CATALINA_BASE全部替换成: CATALINA_2_BASE
至此,我们的Tomcat相关的配置就差不多修改完了,为了增加两个Tomcat的区别。
我们把 tomcat2 / webapps/ ROOT目录下面的 tomcat.png换个图标。
img_3c235fcd38c397ad90dd198b5046a433.png
image.png

好,接下来我们就来运行下试试吧~
我们进对应tomcat下面的 bin目录,使用 CMD运行 startup.bat,如图所示:我们看到下面红色框框中的对比,这就是我们为什么更改上面相关配置文件的原因了,因为不改的话两个同时启动就会有冲突
img_3c1a5cb41ebe37ef83353aa48dd1a2d7.png
image.png

既然tomcat都跑起来了我们就在浏览器里面访问看看吧~


img_4f61d3c3107a91cc8277806824177bcf.png
image.png

可以看到,我们的两个Tomcat都正常跑起来啦~

2、Nginx实现负载均衡

1、修改本地host

host文件最下面添加127.0.0.1 www.test123.com,然后保存(注意www前面还有空格的)

img_b7f9eb0239646dce4b3360667f54349d.png
image.png

2、修改Nginx相关配置:

1、打开Nginx conf/nginx.conf文件:下对应行添加入下图所指代码

    include vhost/*.conf;
img_7d11f6491746d5eaad5202a1e45e25a1.png
image.png

2、在Nginx根目录新建vhost文件夹:

img_7c721aa1b799e0c9c81fa596ebdb8d51.png
image.png

3、在 vhost问价夹下新建: www.imooc.com.conf文件,给这个配置文件添加下面的代码:

upstream www.test123.com{
    server 127.0.0.1:8080;
    server 127.0.0.1:9080;
}
server {
    listen 80;
    autoindex on;
    server_name www.test123.com;
    access_log c:/access.log combined;
    index index.html index.htm index.jsp index.php;
    #error_page 404 /404.html;
    if ( $query_string ~* ".*[\;'\<\>].*" ){
        return 404;
    }
    location / {
        proxy_pass http://www.test123.com;
        add_header Access-Control-Allow-Origin *;
    }
}

好,至此我们的相关配置就差不多配置完啦~
我们下面启动Nginx看看:
在Nginx目录打开cmd

img_d0ca29ee570d3a05f9531db289627a7a.png
image.png

然后执行:start nginx

接下来我们访问在浏览器里面访问试试:


img_4a00efc8d207e8f15bc090171e8ce38d.png
image.png

我们可以看到,访问同一个网址进入到不同的tomcat里面啦~
当然我们还可以设置访问不同tomcat的权重:

在上面的配置文件中配置即可,当然,我们配置完之后记得在Nginx里面执行Nginx -s reload哦~ 以此来刷新我们刚添加的配置。
img_7c94f88e58d95538ad7e8d6b2877140f.png
image.png

权重越大,访问对应的几率也就越大~

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
19天前
|
Java 应用服务中间件 Shell
Nginx+Keepalived+Tomcat 实现Web高可用集群
Nginx+Keepalived+Tomcat 实现Web高可用集群
59 0
|
9天前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
24天前
|
应用服务中间件 nginx Docker
本地通过域名访问虚拟机上nginx的服务、搭建域名访问环境一(反向代理配置)
这篇文章介绍了如何通过域名在本地访问虚拟机上的nginx服务,包括创建nginx容器、修改配置文件、修改本地host文件以及进行访问测试的详细步骤。文章提供了具体的Docker命令来创建并配置nginx容器,展示了配置文件的修改示例,说明了如何在本地系统的hosts文件中添加虚拟机IP和自定义域名,以及如何通过浏览器进行测试访问。
本地通过域名访问虚拟机上nginx的服务、搭建域名访问环境一(反向代理配置)
|
15天前
|
负载均衡 前端开发 应用服务中间件
FastDFS+Nginx+fastdfs-nginx-module集群搭建
FastDFS+Nginx+fastdfs-nginx-module集群搭建
|
16天前
|
负载均衡 算法 微服务
基于gRPC的注册发现与负载均衡的原理和实战
基于gRPC的注册发现与负载均衡的原理和实战
|
23天前
|
前端开发 Java 应用服务中间件
在Linux中,tomcat和nginx的区别是什么?
在Linux中,tomcat和nginx的区别是什么?
|
23天前
|
消息中间件 负载均衡 应用服务中间件
高并发环境下的Nginx整合方案
【8月更文挑战第20天】在高并发环境下,整合Nginx代理服务器、静态文件服务器、Tomcat集群、Mycat数据库读写分离和消息队列,可以构建一个强大、灵活且可扩展的Web服务架构。
27 1
|
1月前
|
应用服务中间件 Nacos 数据库
Nacos 1.2.1 集群搭建(三) Nginx 配置 集群
Nacos 1.2.1 集群搭建(三) Nginx 配置 集群
43 1
|
1月前
|
缓存 负载均衡 Java
Tomcat多实例及nginx反向代理tomcat
运行多个Tomcat实例并使用nginx作为反向代理
24 3
|
1月前
|
物联网 应用服务中间件 Linux
CentOS7.9 Nginx+EMQX集群组建MQTTS平台
通过以上步骤,您已成功搭建了一个基于CentOS 7.9、Nginx和EMQX的MQTTS平台。这个平台既能保证数据传输的安全性,又能利用Nginx的负载均衡能力和EMQX的高性能、高并发处理能力,实现稳定高效的消息服务。在部署和配置过程中,务必注意证书、域名以及EMQX配置的正确性,确保系统安全和稳定运行。此外,定期更新软件和系统,以及监控系统性能,也是保证MQTTS平台长期稳定运行的重要环节。
62 4