Tomcat 多实例部署脚本-下

思路

上一篇Tomcat 多实例部署脚本 大概说了些多实例的一些方案,现在这篇就纯粹的说自动化脚本。
轻拍。

思路(基于上篇博文的基础):

0、建立一个新目录, mkdir default_template
1、在Tomcat中的将所需的配置文件取出来,放到这个新目录中
2、修改 server.xml 文件,将所有所需手工替换的用占用符占用
3、在conf 目录中,建立一个./conf/Catalina/localhost/ROOT.xml 文件(注1 说明为什么建立这个文件)
4、在default_template目录中建立:logs,temp,work 等三个为目录
5、在目录中建立启动和停止实例的脚本,参考上篇博文,(见注2)
6、使用脚本,替换此目录中所有的占位符,替代手工操作

注1:Tomcat中,如果要使用域名的根目录访问,需要将项目文件放在ROOT目录中,否则只能采用二级目录访问,而建立此ROOT.xml 文件,则可以任意指定,此文件中仅一句:<Context path="" docBase="webapps_dir" />,其中path若为空,则默认为根目录没,具体可以下载此文件查看。 当然,还有其他的方式,只不过个人认为这种比较灵活

注2:或者直接下载此文最下面提供的示例

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>

那些年一起写过的博客

因为域名过期忘记续费,然后就没有然后了。
服务器的资料备份的零零散散的,之后域名又被我重新买了回来,幸运!
但是资料基本都丢失了。
今天查自己域名的时候,突然发现一个网站居然还有我域名的历史快照。
感动!虽然只有两张。