本地配置启动两个tomcat,并实现简单的nginx负载平衡

概要

本博客可以在本地(window)安装两个tomcat,可以同时访问两个项目,通过nginx配置两个tomcat实现负载均衡

一、配置tomcat

1.安装tomcat

如果你原来安装过tomcat,需要找一个新的tomcat(因为原来的tomcat里面有许多项目信息,如果你觉得不重要你也可以复制一份作为新的tomcat)
旁白:tomcat不分window和Linux版本,因为 tomcat bin文件中有 startup.bat (window启动) 和startup.sh (Linux启动),其他命令类似;java jdk 分 window 和 Linux版本(Java是跨平台的,不同操作系统生成class文件的方式可能有所差异,但生成的class文件相同)
apache-tomcat-7.0.53
链接: https://pan.baidu.com/s/1p4BcMPpzhjUP9xm-oGIYDg .提取码:u7mg
apache-tomcat-8.5.55
链接: https://pan.baidu.com/s/1kM-PBjCDR3w12wNvPrw1pw.提取码:y0mv

在这里插入图片描述

2.修改server.xml文件

进入apache-tomcat-7.0.53 和 apache-tomcat-8.5.55 的 conf 目录,打开server.xml文件,修改如下两部分( 将port修改为未被使用的端口号 )
在这里插入图片描述

<Connector 
	connectionTimeout="20000" 
	port="2222" protocol="HTTP/1.1" 
	redirectPort="8443"
/>
<Connector port="8009" 
	protocol="AJP/1.3" 
	redirectPort="8443"
/>

3.配置环境变量

右键我的电脑---->属性---->高级系统设置----->环境变量
在系统变量中添加如下配置(注意修改为你的安装路径)
CATALINA_HOME     F:softWareJavaapache-tomcat-7.0.53
CATALINA_HOME2     F:softWareJavaapache-tomcat-8.5.55
在这里插入图片描述
将  CATALINA_HOME  和  CATALINA_HOME2  加入 path(我的是win10系统,path就长这样子)
在这里插入图片描述

4.修改 启动文件(startup.bat ,catalina.bat)

只需要修改一个tomcat,我修改的是 apache-tomcat-8.5.55 , 进入apache-tomcat-8.5.55 和 的 bin 目录修改startup.bat ,catalina.bat (如果你想使用其他命令如 shutdown.bat 也需要打开文件将所有的CATALINA_HOME 替换为 CATALINA_HOME2 ,其他命令类似)
在这里插入图片描述
将两个文件中所有的 CATALINA_HOME 替换为 CATALINA_HOME2 ,我用的 Nodepad++ ,直接搜索全部替换
在这里插入图片描述
至此两个 tomcat 配置完成,(配置完环境变量并不能立即生效,试着关闭所有命令行窗口,重新打开一个新的命令行窗口,若还是不行,重启计算机)

5.本地测试启动tomcat

因为配置了环境变量,所以在任何地方,win+R 输入 cmd 调出命令行执行 startup.bat 都可以启动一个tomcat,另一个需要到文件夹启动(当让你也可以到文件夹中双击 startup.bat 启动),
旧的   apache-tomcat-7.0.53 (启动正常)
在这里插入图片描述
访问  http://localhost:2222/  成功
在这里插入图片描述
新的   apache-tomcat-8.5.55
在这里插入图片描述
访问  http://localhost:8088/  勉勉强强算成功,启动过程存在异常和乱码
在这里插入图片描述
如果需要如图浏览器助手私聊我

二、eclipse配置tomcat

1.将 tomcat 加入 eclipse
window--->preferences---->server---->Runtime Environments---->add
在这里插入图片描述
2.启动两个项目
在这里插入图片描述
两个项目选择不同的tomcat启动
第一个项目
在这里插入图片描述
效果图
在这里插入图片描述
第二个项目
在这里插入图片描述
效果图
在这里插入图片描述

三、nginx配置实现简单的负载均衡

没有nginx 移步官网或者提取如下版本
nginx-1.12.2
链接: https://pan.baidu.com/s/19zPGp4c_yAUUzPahVtCv_g .提取码:webc
下载之后解压
1.将项目打成war包运行在tomcat
在本地利用两个tomcat模拟两台服务器,将项目打成 war 包分别放进 apache-tomcat-7.0.53 和 apache-tomcat-8.5.55 webapps 中
在这里插入图片描述
启动tomcat,进入 apache-tomcat-7.0.53/bin 目录,运行 startup.bat,tomcat 8.5类似,启动成功,访问
tomcat 7.0 http://localhost:2222/ssm
在这里插入图片描述
tomcat 8.5 http://localhost:8088/ssm
在这里插入图片描述
2.配置nginx负载均衡
① 首先在nginx的文件目录里找到nginx-conf文件,这是nginx的配置文件;在nginx-conf文件下的http节点下添加upstream节点,进行tomcat的配置,如下图所示
在这里插入图片描述

 # 配置负载均衡
 # localhost是自定义的负载均衡规则名
     upstream localhost{
         #Nginx是如何实现负载均衡的,Nginx的upstream目前支持以下几种方式的分配
         #1、轮询(默认)
         #每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
         #2、weight
         #指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
         #3、ip_hash
         #每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
         #4、fair(第三方)
         #按后端服务器的响应时间来分配请求,响应时间短的优先分配。
         #5、url_hash(第三方)
         #按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。  
        ip_hash;
        
      #本机IP+三个tomcat端口号 weight为权重,权重越大承载量越大
        server 127.0.0.1:2222 weight=1; 
         server 127.0.0.1:8088 weight=2;  
         # server 127.0.0.1:8000 backup;  #backup 当上面两个某一个服务器宕机,默认用这个替代宕机服务器
    }


server {
   listen       888;
   server_name  localhost;

   #charset koi8-r;

   #access_log  logs/host.access.log  main;

   location / { #  /代表连接所有请求,大多数情况,一些静态资源单独配置拦截与访问地址
          proxy_connect_timeout 3; #nginx跟后端服务器连接超时时间(代理连接超时) 
          proxy_send_timeout 30; #后端服务器数据回传时间(代理发送超时) 
          proxy_read_timeout 30; #连接成功后,后端服务器响应时间(代理接收超时) 
          proxy_pass http://localhost; # localhost 为自定义的负载均衡名字
    }

至此就可以实现简单的负载均衡了,想了解复杂的配置信息,戳下面链接
链接: https://blog.csdn.net/wangbin_0729/article/details/82109693.
配置完成,重启nginx 命令nginx.exe -s reload
window下nginx常用命令戳下面链接
链接: https://www.cnblogs.com/jianmingyuan/p/10899917.html.
3.测试结果
启动nginx
在这里插入图片描述
如果启动遇到错误

nginx error: CreateFile "F:softWareJava
ginx-1.12.2/logs/nginx.pid" failed

运行

nginx -c conf/nginx.conf

如上图启动成功。
打开浏览器访问  http://localhost:888/ssm  结果如图(注意一定要保证另外两个 tomcat 服务器开启,并且 war 包在服务器中)
在这里插入图片描述
nginx 监听 888 端口,访问项目成功,说明简单的负载均衡搭建成功

总结

自己对一些地方还不是很熟悉,也是参考网上一些大佬的经验搭建的,搭建这么low的项目没别的目的,就是记个笔记,每天记录一点,每天成长一点,像大佬们看齐。不论你在什么时候开始,重要的是开始之后就不要停止;不论你在什么时候结束,重要的是结束之后就不要悔恨。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值