Tomcat 多实例部署脚本
2017-02-28 17:52
225 查看
转载自:点击打开链接
###单实例部署的麻烦
掀桌!单实例部署,TMD的每次重启所有项目都被影响!!
单实例部署时,不管是直接放在webapps下,还是增加配置文件
,特别一些启动时间比较长的项目,等待很艹蛋,更特别的在于如果没有热部署或者热部署失败时,修改一个class或配置文件,重启的效率能让你掀桌!!
###多实例的几种方式
1.多Tomcat软件实例
2.增加 CATALINA_BASE
3.其他的先略过不表
Y,多实例不可避免,多实例的两种方式上面说了。
####1.最简单就是多Tomcat,
部署时拷贝一个Tomcat,然后修改端口。
多Tomcat实例 总的就是修改这两个端口Server的和 Http协议的,很简单,但也很实用。
#####2. 第二个 单Tomcat 多实例 ,增加 catalina_base
一个实例增加一个 catalina_base ,但只用一个Tomcat软件实体
在Tomcat的目录中,有这么几个子目录:
1.bin
2.lib
3.conf
4.logs
5.temp
6.work
7.webapps
其中 1 bin 和 2 lib 是Tomcat的执行文件和依赖文件,是重要的,标记。
接着 3 conf 是配置文件,也主要,主要,主要(重要的事说3遍)的,标记。
其他 4,5,6,分别是日志,临时,和编译后的工作目录,次要。
最后 7 是我们熟知的,基本刚开始的时候都是用来存放项目,然后使用二级目录访问,可略过。
好,现在说说这个单Tomcat多实例的思路。
我们启用tomcat时,所使用的方式一般为:./bin/startup.sh
OK,而实际上它会调用 catalina.sh 这个脚本,而关键的在于这个脚本中有一个配置选项:
CATALINA_BASE
这个就是用来解决多实例的一个配置,
#####步骤
有点小绕,看步骤和脚本:
1.解压一个Tomcat,我选择的版本是:apache-tomcat-7.0.56,移动至 /usr/local/apache-tomcat-7.0.56
2.建立一个实例对应的目录,如:/data/website/demo.linjie.org
3.将apache-tomcat-7.0.56中的
demo.linjie.org 目录
4.关键:在目录下建立一个脚本,可以如:touch tomcat.sh ,脚本内容如下
这里注意,需要修改默认的端口,这个步骤跟多tomcat类似,参考上面的。
这个时候启动这个tomcat.sh 就是相当于启用了这个实例。然后停止时,也不影响其他的实例,前提是,你端口要不一样,如果端口一样,则会影响其他项目。
好吧,貌似跟多Tomcat差不多。唯一的有点就在于看着干净,爽快,而如果想要升级Tomcat,一般来说就升级这个单Tomcat软件主体就OK 了。
6.最后,在实例的目录中建立其他的目录,如:
1.logs
2.work
3.temp
4.webapps
OK,以上,这个可以基本完成目标了,不过还没达到我想要的理想值,下篇再介绍如何自动化。
###其他
其他就是,这个还不够,还不够,还需要自动化。是的。还不够!
Tomcat
Java, Tomcat
###单实例部署的麻烦
掀桌!单实例部署,TMD的每次重启所有项目都被影响!!
单实例部署时,不管是直接放在webapps下,还是增加配置文件
./conf/server.xml中的
<host>,关闭和启动都是所有项目都受到影响
,特别一些启动时间比较长的项目,等待很艹蛋,更特别的在于如果没有热部署或者热部署失败时,修改一个class或配置文件,重启的效率能让你掀桌!!
###多实例的几种方式
1.多Tomcat软件实例
2.增加 CATALINA_BASE
3.其他的先略过不表
Y,多实例不可避免,多实例的两种方式上面说了。
####1.最简单就是多Tomcat,
部署时拷贝一个Tomcat,然后修改端口。
1 2 3 4 5 6 7 8 9 10 11 | <!-- 用来停止Tomcat的端口(8005),需改 --> <Server port="8005" shutdown="SHUTDOWN"> ... <!-- Http 访问端口(8080),续改 --> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> .... <!-- Ajp端口(8009) ,负责和其他的HTTP服务器建立连接。没用到就注释掉。 --> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <Server> |
#####2. 第二个 单Tomcat 多实例 ,增加 catalina_base
一个实例增加一个 catalina_base ,但只用一个Tomcat软件实体
在Tomcat的目录中,有这么几个子目录:
1.bin
2.lib
3.conf
4.logs
5.temp
6.work
7.webapps
其中 1 bin 和 2 lib 是Tomcat的执行文件和依赖文件,是重要的,标记。
接着 3 conf 是配置文件,也主要,主要,主要(重要的事说3遍)的,标记。
其他 4,5,6,分别是日志,临时,和编译后的工作目录,次要。
最后 7 是我们熟知的,基本刚开始的时候都是用来存放项目,然后使用二级目录访问,可略过。
好,现在说说这个单Tomcat多实例的思路。
我们启用tomcat时,所使用的方式一般为:./bin/startup.sh
OK,而实际上它会调用 catalina.sh 这个脚本,而关键的在于这个脚本中有一个配置选项:
CATALINA_BASE
1 2 3 | # CATALINA_BASE (Optional) Base directory for resolving dynamic portions # of a Catalina installation. If not present, resolves to # the same directory that CATALINA_HOME points to. |
CATALINA_BASE配置项 所指定的目录,需要一个
conf目录,而
conf就包含了配置端口和项目路径。而默认的
CATALINA_BASE指向了Tomcat的根目录。可能还不怎么清楚,要怎么配置多
CATALINA_BASE?
#####步骤
有点小绕,看步骤和脚本:
1.解压一个Tomcat,我选择的版本是:apache-tomcat-7.0.56,移动至 /usr/local/apache-tomcat-7.0.56
2.建立一个实例对应的目录,如:/data/website/demo.linjie.org
3.将apache-tomcat-7.0.56中的
conf目录完整的copy到
demo.linjie.org 目录
4.关键:在目录下建立一个脚本,可以如:touch tomcat.sh ,脚本内容如下
1 2 3 4 5 6 7 8 9 10 1112 | #!/bin/sh # 本脚本参考:http://www.ttlsa.com . /etc/init.d/functions RETVAL=$? # tomcat实例目录,重要,这个就是指向了含有 conf的实例目录,这个比较重要!在于 export 会将指定的变量临时加入用户变量 # export CATALINA_BASE="$PWD" export CATALINA_BASE="/data/website/demo.linjie.org" # tomcat安装目录,这个指向tomact所在的路径 export CATALINA_HOME="/usr/local/apache-tomcat-7.0.56" #下面就是用来启动了 case "$1" in start) if [ -f $CATALINA_HOME/bin/startup.sh ];then echo $"Start Tomcat" $CATALINA_HOME/bin/startup.sh fi ;; stop) if [ -f $CATALINA_HOME/bin/shutdown.sh ];then $CATALINA_HOME/bin/shutdown.sh fi ;; *) echo $"Usage: $0 {start|stop}" exit 1 ;; esac exit $RETVAL |
这个时候启动这个tomcat.sh 就是相当于启用了这个实例。然后停止时,也不影响其他的实例,前提是,你端口要不一样,如果端口一样,则会影响其他项目。
好吧,貌似跟多Tomcat差不多。唯一的有点就在于看着干净,爽快,而如果想要升级Tomcat,一般来说就升级这个单Tomcat软件主体就OK 了。
6.最后,在实例的目录中建立其他的目录,如:
1.logs
2.work
3.temp
4.webapps
OK,以上,这个可以基本完成目标了,不过还没达到我想要的理想值,下篇再介绍如何自动化。
###其他
其他就是,这个还不够,还不够,还需要自动化。是的。还不够!
Tomcat
Java, Tomcat
相关文章推荐
- tomcat多实例自动部署脚本
- tomcat多实例自动化部署脚本优化
- linux实现自动部署tomcat脚本
- Tomcat 单机多实例部署
- tomcat单机多实例部署
- linux 持续构建(自动部署) 重启动tomcat或进程的脚本
- CentOS6.6从头到尾部署nginx与tomcat多实例 转
- Tomcat多实例部署及其原理
- centos 7 部署多实例tomcat
- 一个脚本搞定开发环境tomcat的部署更新,配置文件替换,图片备份等等
- 一个tomcat部署多个应用实例总结
- 使用ant脚本,对java web项目,编译、打包、发布部署到tomcat
- 部署在tomcat下面的jenkins启动了多个实例,界面访问报错
- MySQL-5.6.27两种方式部署多实例以及mysqld_multi脚本BUG处理
- 同一台服务器上部署多个tomcat实例
- Tomcat 自动部署、回滚(java project)脚本
- 用于部署war并重启Tomcat的脚本
- tomcat单机多实例部署
- 一个tomcat部署多个应用实例总结
- Saltstack批量部署tomcat(多实例)