您现在的位置是:首页 > 网页设计心得 > 程序人生程序人生

为什么要使用Tomcat集群

胜于蓝2019-07-25【程序人生】人已围观

简介 提高服务的性能,并发能力,以及高可用性 提供项目架构的横向扩展能力 Tomcat单机部署多应用/多机部署多应用Tomcat集群实现原理通过Nginx负载均衡进行请求转发Tomcat单机部署

  • 提高服务的性能,并发能力,以及高可用性
  • 提供项目架构的横向扩展能力

 

Tomcat单机部署多应用/多机部署多应用

Tomcat集群实现原理

通过Nginx负载均衡进行请求转发

Tomcat单机部署多应用

(1)配置Tomcat环境变量

  • 首先打开/etc/profile文件,增加下述内容配置Tomcat环境变量。
export CATALINA_BASE=/home/panjing/developer/tomcat1
export CATALINA_HOME=/home/panjing/developer/tomcat1
export TOMCAT_HOME=/home/panjing/developer/tomcat1
export CATALINA_2_BASE=/home/panjing/developer/tomcat2
export CATALINA_2_HOME=/home/panjing/developer/tomcat2
export TOMCAT_2_HOME=/home/panjing/developer/tomcat2
  • 保存退出,执行source /etc/profile使配置文件生效

(2)修改Tomcat配置文件

  • 第一个tomcat不变
  • 打开第二个tomcat目录下bin/catalina.sh${tomcat}/bin/catalina.sh
  • 找到# OS specific support. $var _must_ be set to either true or false.P3g胜于蓝|优秀个人博客

    • 在这行下面编辑,新增如下配置,保存退出P3g胜于蓝|优秀个人博客
  • 打开第二个tomcat目录下conf/server.xml${tomcat}/conf/server.xmlP3g胜于蓝|优秀个人博客

    • 注:此时有3个端口需要修改P3g胜于蓝|优秀个人博客

      • Server port="8005" 节点端口号修改为9005
      • Connector port="8080" protocol="HTTP/1.1" 节点端口号修改9080
      • Connector port="8009" protocol="AJP/1.3" 节点端口号修改9009
      • 注意:以上端口号可以任意修改,但切记不能跟已有端口号重复
  • 分别进入两个tomcat的bin目录下启动tomcat即进入${tomcat}/bin/执行startup.sh
  • 访问http://localhost:8080,http://localhost:9080可以打开tomcat部署的webapps的ROOT项目首页
  • 如果继续想部署多个tomcat实例,请依照此法
  • 注:端口号在系统中必须不能重复,必须是系统没有使用的

Tomcat多机部署多应用

多机部署多应用相对于单机部署多应用简单很多,参考以下原则。P3g胜于蓝|优秀个人博客

  • 如果一个机器部署一个tomcat实例,不用修改
  • 如果一个机器部署多个tomcat实例,依照单机部署多实例方法
  • 注:多个服务器并且每个服务器只安装一个Tomcat要保证它们之间的网络是互通的,方可集群。Nginx装在任意一台服务器上即可,也可单独把Nginx服务独立出来一台。

Nginx负载均衡配置、策略、场景及特点

在搭建集群之前,需要简单了解Nginx关于负载均衡的配置,如果对Nginx不太熟悉,可以参考文章Nginx基本使用。P3g胜于蓝|优秀个人博客

轮询(默认)

  • 优点:实现简单
  • 缺点:不考虑每台服务器处理能力
upstream www.panjingg.test{
    server www.panjingg.test:8080;
    server www.panjingg.test:9080;
}

权重

  • 优点:考虑了每台服务器处理能力的不同
upstream www.panjingg.test{
    server www.panjingg.test:8080 weight=15;
    server www.panjingg.test:9080 weight=10;
}

注:weight默认是1,如果多个配置权重的节点,比较相对值。P3g胜于蓝|优秀个人博客

ip hash

  • 优点:能实现同一个用户访问同一个服务器
  • 缺点:根据ip hash不一定平均
upstream www.panjingg.test{
    ip_hash;
    server www.panjingg.test:8080;
    server www.panjingg.test:9080;
}

url hash(第三方,意为需要安装第三方插件)

  • 优点:能实现同一个服务访问同一个服务器
  • 缺点:根据url hash分配请求会不平均,请求频繁的url会请求到同一个服务器上
upstream www.panjingg.test{
    server www.panjingg.test:8080;
    server www.panjingg.test:9080;
    hash $request_uri;
}

fair(第三方,意为需要安装第三方插件)

  • 特点:按后端服务器的响应时间来分配请求,响应时间短的优先分配
upstream www.panjingg.test{
    server www.panjingg.test:8080;
    server www.panjingg.test:9080;
    fair;
}

负载均衡参数讲解扩展知识点补充

upstream backserver{
    ip_hash;
    server 127.0.0.1:9090 down;(down表示当前的server暂时不参与负载)
    server 127.0.0.1:8080 weight=2;(weight默认为1,weight越大,负载的权重就越大)
    server 127.0.0.1:6060;
    server 127.0.0.1:7070 backup;(其他所有的非backup机器down或者忙的时候,请求backup机器)
}

Nginx+Tomcat搭建集群

了解了Nginx关于负载均衡相关策略后,我们将使用权重的策略搭建集群。P3g胜于蓝|优秀个人博客

Tomcat配置

  • 首先修改清空tomcat1以及tomcat2目录下webapps/ROOT目录,分别创建两个html文件,以备测试使用。注意,此处仅是为了测试方便,在真实开发中一定不可如此。
<!-- tomcat1/webapps/ROOT/index.html -->
<h1>tomcat1</h1>

<!-- tomcat1/webapps/ROOT/index.html -->
<h1>tomcat2</h1>
  • 启动两个tomcat,执行${tomcat}/bin/start.sh

Nginx配置

  • 编辑在${nginx}/conf/nginx.conf配置文件
  • 在http节点下增加 include ${nginx}/conf.d/*.conf
  • 目的是为了要增加Tomcat集群的负载均衡配置,并且把域名的配置文件分开,方便后期管理
  • conf.d/文件下创建www.panjingg.test.conf文件
upstream www.panjingg.test{
   server www.panjingg.test:8080 weight=1;
   server www.panjingg.test:9080 weight=1;
}

server {
    listen 80;
    autoindex on;
    server_name  www.panjingg.test;
    index  index.html index.htm;
    access_log /var/log/nginx/access_panjingg.log panjingg;
    location / {
        proxy_pass http://www.panjingg.test;
        add_header Access-Control-Allow-Origin *;
    }
}
  • 修改完之后重启nginx

完成以上步骤后,打开浏览器,输入zx201.com进行访问,发现将会报错。P3g胜于蓝|优秀个人博客

 P3g胜于蓝|优秀个人博客

原因是没有使用DNS进行解析,这里为了演示方便,修改了hosts文件,以windows系统为例,以管理员权限打开C:\Windows\System32\drivers\etc\hosts文件,在末尾添加如下内容:P3g胜于蓝|优秀个人博客

# 主机IP 域名
192.168.2.9 zx201.com 

添加完成后保存,打开浏览器,输入zx201.com,页面正常显示。P3g胜于蓝|优秀个人博客
此时狂刷新页面,发现一会访问到8080端口的tomcat,一会访问到9080端口的tomcat,至此,Nginx+Tomcat集群搭建成功。P3g胜于蓝|优秀个人博客

Tags:

很赞哦! ()

上一篇:返回列表

下一篇:Web项目中的路径问题

文章评论

当前时间

快速排名

  • 网站建设|万词霸屏,企业软文推广,刷下拉框
  • 快速排名:不用再等SEO三个月,只需3-7天即可把行业关键词覆盖百度搜索引擎首页,点击不收费,排名报表,真实访问量报表一目了然。

合作加盟

  • 扫码请注明来意,否则不会通过
  • 填写商户姓名不要带有“超市”,“便利店” ,“百货”等
  • 扫码成为快钱代理
  • 扫码加站长微信,为您推荐快钱总部负责人
  • 快钱POSS机(电签版)
  • 1,免押版:签约费率快捷交易0.38%,常规交易0.65%
  • 贷记卡单笔≥3000元视为激活
  • 2,,有押版:签约快捷交易0.38%,常规交易0.65%
  • 激活首刷≥99元,扣除99元系统服务费,多出部分shishi到账
  • 电签版ipos参与每月扶持奖励
  • 电签版ipos与Mpos单独考核台均
  • 30台以上有效激活奖励3000元扶持金
  • 当月交易额≥3000元的为活跃用户

本站推荐

站点信息

  • 建站时间:2018-10-24
  • 网站程序:帝国CMS7.5
  • 主题模板《今夕何夕》
  • 文章统计7613篇文章
  • 标签管理标签云
  • 统计数据百度统计
  • 扫描二维码:请注明来意,否则不会通过
  • 微信号:扫描二维码,关注我们
歌名 - 歌手
0:00