设为首页 收藏本站
查看: 787|回复: 0

[经验分享] Tomcat单机多实例配置

[复制链接]
发表于 2018-12-5 06:48:26 | 显示全部楼层 |阅读模式
  当一个进程的线程超过500个的话,那么这个进程的运行效率会变得很低。因为一个进程产生过多的线程,CPU资源会浪费在线程间切换过程当中。但当服务器配置很高的情况下,如:32G内存,16核的CPU。这样一台高配的机器上只装一个Tomcat实例,会有点浪费。其实我们可以根据服务器的硬件配置,配置多个Tomcat实例,充分利用硬件的资源。你第一时间可能会想到,直接下载多份Tomcat安装包,直接解压,改下端口跑起来不就可以了? 这样也是可以的,但不好维护。假设你在一台机器上安装了5个Tomcat实例,日后要升级Tomcat时,你需要将新版本的tomcat复制并覆盖掉旧的5个tomcat安装程序和配置,所以还是挺麻烦的。下面介绍多个Tomcat实例共享同一个安装包的配置方法。
安装环境
  操作系统:CentOS7 64位 Mini版
  JDK:1.8,安装目录:/opt/jdk1.8
  Tomcat:Tomcat8.0.35,安装目录:/opt/apache-tomcat-8.0.35
  配置3个Tomcat实例组件一个集群:
  /opt/tomcat_instance/tomcat1
  /opt/tomcat_instance/tomcat2
  /opt/tomcat_instance/tomcat3
安装步聚
1> 下载Tomcat安装包并解压,目录结构如下:
  drwxr-xr-x. 3 root root  4096 5月  26 01:41 bin
drwxr-xr-x. 3 root root  4096 6月  28 16:14 conf
drwxr-xr-x. 2 root root  4096 5月  25 22:12 lib
drwxr-xr-x. 2 root root  4096 6月  28 15:48 logs
drwxr-xr-x. 2 root root  4096 5月  25 22:12 temp
drwxr-xr-x. 7 root root  4096 5月  25 22:14 webapps
drwxr-xr-x. 3 root root  4096 5月  12 05:57 work
2> 在/opt/tomcat_instance下分别创建3个实例的目录:
  shell> mkdir -p /opt/tomcat_instance/tomcat1
  shell> mkdir -p /opt/tomcat_instance/tomcat2
  shell> mkdir -p /opt/tomcat_instance/tomcat3
3> 拷贝tomcat安装目录下的conf目录分别放入3个实例目录中:
  shell> copy -R /opt/apache-tomcat-8.0.35/conf /opt/tomcat_instance/tomcat1/
  shell> copy -R /opt/apache-tomcat-8.0.35/conf /opt/tomcat_instance/tomcat2/
  shell> copy -R /opt/apache-tomcat-8.0.35/conf /opt/tomcat_instance/tomcat3/
4> 在tomcat实例下创建实例启动和停止脚本
  启动和停止脚本放到tomcat实例的bin目录下
a) 启动脚本
  shell> mkdir -p /opt/tomcat_instance/tomcat[1-4]/bin
  shell> touch startup.sh
  shell> chown +x startup.sh
  将以下脚本拷贝到startup.sh文件中,注意修改CATALINA_BASE指向的tomcat实例路径:
  #!/bin/bashexport JRE_HOME=/opt/jdk1.8/jre
  export CATALINA_HOME=/opt/tomcat8
  export CATALINA_BASE="/opt/tomcat_instance/tomcat1"
  export CATALINA_TMPDIR="$CATALINA_BASE/temp"
  export CATALINA_PID="$CATALINA_BASE/bin/tomcat.pid"
  export JAVA_OPTS="-server -Xms1024m -Xmx1024m -Djava.awt.headless=true -Dtomcat.name=tomcat1"
  #创建logs目录
  if [ ! -d "$CATALINA_BASE/logs" ]; then mkdir $CATALINA_BASE/logs
  fi
  #创建temp目录
  if [ ! -d "$CATALINA_BASE/temp" ]; then mkdir $CATALINA_BASE/temp
  fi
  # 调用tomcat启动脚本
  bash $CATALINA_HOME/bin/startup.sh "$@"
b) 停止脚本
  shell> touch shutdown.sh
shell> chown +x shutdown.sh
shell> vim shutdown.sh
  拷贝以下脚本到shutdown.sh文件中:
  #!/bin/bashexport JRE_HOME=/opt/jdk1.8/jre
  export CATALINA_HOME=/opt/tomcat8
  export CATALINA_BASE="/opt/tomcat_instance/tomcat1"
  export CATALINA_TMPDIR="$CATALINA_BASE/temp"export CATALINA_PID="$CATALINA_BASE/bin/tomcat.pid"
  bash $CATALINA_HOME/bin/shutdown.sh "$@"
5、修改每个tomcat实例中server.xml中的端口:
    ...     ...       ...       ...           ...             ...         

  上面是裁剪过后的server.xml,分别修改以上三个端口(Server、HTTP、AJP),不要和其它实例的端口或系统已经占用的端口发生冲突。
6、创建实例部署应用的目录
shell> mkdir -p /opt/deploy/webapps11  所有实例的app默认都部署到/opt/deploy/webapps目录下,注意修改server.xml中Host节点的appBase属性的值。
7、启动服务
  shell> /opt/tomcat_instance/tomcat1/bin/startup.sh
shell> /opt/tomcat_instance/tomcat2/bin/startup.sh
shell> /opt/tomcat_instance/tomcat2/bin/startup.sh
  服务器启动之后,会分别在相应的实例目录下生成logs、temp、work和webapps目录。另外也可以在实例目录下创建lib目录,用于存放app的jar。现在来看实例的安装目录,就和tomcat的安装包解压后的目录结构一样了,但所有实例共享同一套tomcat安装程序的bin和lib。后面如果需要升级tomcat或修改tomcat脚本的相关配置,只需要更新这一套程序就行,也方便了日后的维护。
  本文出自:http://blog.csdn.net/xyang81/article/details/51997053



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-643356-1-1.html 上篇帖子: Linux下部署多个Tomcat 下篇帖子: Linux Tomcat JSP 布署详细教程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表