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)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
18天前
|
监控 Java 应用服务中间件
部署tomcat部署实战案例
本文是关于Tomcat部署实战案例的教程,包括通过yum和二进制方式部署Tomcat的详细步骤,以及如何监控Tomcat服务。
163 84
部署tomcat部署实战案例
|
9天前
|
负载均衡 网络协议 Unix
Nginx负载均衡与故障转移实践
Nginx通过ngx_http_upstream_module模块实现负载均衡与故障转移,适用于多服务器环境。利用`upstream`与`server`指令定义后端服务器组,通过`proxy_pass`将请求代理至这些服务器,实现请求分发。Nginx还提供了多种负载均衡策略,如轮询、权重分配、IP哈希等,并支持自定义故障转移逻辑,确保系统稳定性和高可用性。示例配置展示了如何定义负载均衡设备及状态,并应用到具体server配置中。
|
1月前
|
缓存 Java 应用服务中间件
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
这篇文章详细介绍了在SpringMVC中创建JSP页面的全过程,包括项目的创建、配置、Tomcat的设置,以及如何实现页面跳转和配置模板解析器,最后还对比了JSP和HTML模板解析的差异。
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
|
26天前
|
应用服务中间件 Linux 网络安全
【Azure 应用服务】App Service for Linux 环境中为Tomcat页面修改默认的Azure 404页面
【Azure 应用服务】App Service for Linux 环境中为Tomcat页面修改默认的Azure 404页面
|
26天前
|
Java 应用服务中间件 Windows
【App Service for Windows】为 App Service 配置自定义 Tomcat 环境
【App Service for Windows】为 App Service 配置自定义 Tomcat 环境
|
1月前
|
负载均衡 应用服务中间件 Linux
"揭晓nginx的神秘力量:如何实现反向代理与负载均衡,拯救服务器于水火?"
【8月更文挑战第20天】在Linux环境下,nginx作为高性能HTTP服务器与反向代理工具,在网站优化及服务器负载均衡中扮演重要角色。本文通过电商平台案例,解析nginx如何解决服务器压力大、访问慢的问题。首先介绍反向代理原理,即客户端请求经由代理服务器转发至内部服务器,隐藏真实服务器地址;并给出配置示例。接着讲解负载均衡原理,通过将请求分发到多个服务器来分散负载,同样附有配置实例。实践表明,采用nginx后,不仅服务器压力得到缓解,还提升了访问速度与系统稳定性。
48 3
|
1月前
|
负载均衡 算法 应用服务中间件
在Linux中,nginx反向代理和负载均衡实现原理是什么?
在Linux中,nginx反向代理和负载均衡实现原理是什么?
|
1月前
|
负载均衡 应用服务中间件 nginx
Nginx怎么去做负载均衡?
Nginx的负载均衡器配置就完成了,而且由于Nginx的配置文件结构清晰而且简洁,调整和维护也相对方便。通过上述步骤,你可以将Nginx设置为一款强大的负载均衡器,提升服务器集群的处理能力及高可用性。
37 4
|
27天前
|
Java 应用服务中间件 Windows
【Azure 应用服务】App Service for Windows 环境中为Tomcat自定义4xx/5xx页面
【Azure 应用服务】App Service for Windows 环境中为Tomcat自定义4xx/5xx页面
|
28天前
|
负载均衡 应用服务中间件 Linux
在Linux中,Nginx如何实现负载均衡分发策略?
在Linux中,Nginx如何实现负载均衡分发策略?