栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Tomcat生产部署多个应用

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Tomcat生产部署多个应用

前言

我们知道,部署一个Tomcat 有四种方式:

  1. Tomcat主webapps 下面放上war 包;
  2. Tomcat主webapps 下面expanded 解压的包;
  3. 直接在 Tomcat的主Server.xml里面配置 Context;
  4. 文件描述符方式
# 文件描述符方式;
conf/Catalina/
└── localhost
└──────appName.xml

本文演示的算是根据以上发展的一种变种。针对面向生产部署的一种方案:
原理就是复用 一个Tomcat 的执行能力,转换工作目录进行工作
本文参考了一些 运维视频,博客,等等,关键词:Tomcat生产部署 等
对于网上的分享,在此深表感谢。
当然,本人水平有限,所见浅薄,如有纰漏,可以指出讨论。

本文所用为我自己电脑的vm虚拟机,所用的配置文件等来源官网,命名等为虚构,不涉密

前置
  • 结构
  
   # 引擎管理 主机 ( 主机要在 引擎里面 启动)    PipLine
 		       # 虚拟主机  (应用部署在虚拟主机上面)  PipLine
  			   # 在里面定义一个应用         PipLine
  					       #             PipLine
  								 
  					
  					# 其他配置
  			   
 		
 
  • Pipline 属于管道,管道概念中可以有配置Valve 阀门
  • 部署生产:Tomcat和源码隔离,源码之间隔离
环境
  • apache-tomcat-9.0.56
  • Ubuntu 22.4
  • openjdk 11.0.14.1 2022-02-08

TODO:一个Tomcat部署两个应用 demo01 demo02

步骤 1.目录结构准备

我们需要两种目录:
源码目录 部署目录
部署目录:

# 因为原来的包名字太长等原因,用软连接,更灵活
adward@adward-cp:/usr/local/softwares$ ll
总用量 8
drwxr-xr-x  2 adward root   4096  5月 29 17:38 ./
drwxr-xr-x 13 root   root   4096  5月 26 19:01 ../
lrwxrwxrwx  1 adward adward   45  5月 26 19:02 tomcat -> /usr/local/softwaresbac/apache-tomcat-9.0.56//
adward@adward-cp:/usr/local/softwares/tomcat$ cp -rf /usr/local/softwares/tomcat/{conf,logs,temp,work} /usr/local/webapps/web01/
adward@adward-cp:/usr/local/softwares/tomcat$ cp -rf /usr/local/softwares/tomcat/{conf,logs,temp,work} /usr/local/webapps/web02/
adward@adward-cp:/usr/local/softwares/tomcat$ tree -L 1 web01 web02
web01
├── conf
├── logs
├── temp
└── work
web02
├── conf
├── logs
├── temp
└── work
2.修改配置文件

对于web01和web02 ,修改配置文件,分别修改两者的
conf/server.xml
关注三个地方:

该处原来是8005,现在自行修改一个就行,用自己喜欢的
这个8005 是什么 ? 可以百度这个:telnet 127.0.0.1 8005


上面这个地方,原来是 8080;


以上是我源码的位置,appBase 可以盘算一下,根据你想要的结果,你懂得。
我的源码结构如下,就是意思意思:

# 为啥还要再包一层 web01 ? 
# 因为我觉得 直接放demo01 demo02 太单薄,可能会冻着,后期,我可以在demo01放上一点和他相关的零食啥的,比较方便,你放外面,要删就都删了
adward@adward-cp:/usr/local/webapps$ tree -L 2 web01 web02
web01
└── demo01
    └── index.html
web02
└── demo02
    └── index.html

因为到时候我希望这样访问:index.html里面就是写的文字。

到这里改完三处,完事,第二个应用,照猫画虎。

源码目录,我上面已经摆出来了

3.执行脚本:

到这里还差最关键一步: # startMe.sh 名字随意
最后做成这样,

看得出来,CATALINA_HOME 就好比锅铲,
CATALINA_BASE 就好比是锅子,一个锅铲炒两个锅子

adward@adward-cp:/usr/local/softwares/tomcat$ tree -L 1 web01 web02
web01
├── conf
├── logs
├── startMe.sh
├── temp
└── work
web02
├── conf
├── logs
├── startMe.sh
├── temp
└── work
#!/bin/bash
# ./etc/init.d/functions

export JAVA_OPTS="-Xms100m -Xmx200m"
export JAVA_HOME="/usr/"
export CATALINA_HOME="/usr/local/softwares/tomcat/"
export CATALINA_BASE="/usr/local/softwares/tomcat/web01"

case $1 in
        start)
                $CATALINA_HOME/bin/catalina.sh start
                echo start success!!
                ;;
        stop)
                $CATALINA_HOME/bin/catalina.sh stop
                echo stop success!!
                ;;
        restart)
                $CATALINA_HOME/bin/catalina.sh stop
                echo stop success!!
                sleep 2
                $CATALINA_HOME/bin/catalina.sh start
                echo start success!!
                ;;
        version)
                $CATALINA_HOME/bin/catalina.sh version
                ;;
        configtest)
                $CATALINA_HOME/bin/catalina.sh configtest
                ;;
esac
exit 0

以上是我自己的配置,按需修改。
其实 Tomcat 的bin里面 的 startup.sh 里面 就是 调用的 catalina.sh start 。

4.调试

此处如果 端口占用 什么的,自行处理好。
然后 启动的话,看上面的脚本就能明白,要用:

$ sh startMe.sh start

最后访问一下就行:

到这里简单配置就结束了。


5. 后续

后续的话,可以配置数据源,在 Context 的标签里面,大概这个样子。


这个东西网上一搜还蛮多的。我回头试一试。
.

.

.

参考鸣谢:

(见评论区)

最近北京热起来了,啊,一天天的,周末就这样很快就过去了。人也很累。
北京啊北京,一晃快三十了,加油吧!希望疫情早点过去,也祝我好运 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/941124.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号