您的位置:首页 > 运维架构 > Tomcat

tomcat多实例部署

2016-05-28 11:33 615 查看
java不同于php,单个站点更新维护都会影响到其他站点,一般都会将几个站点放在一个实例下。今天全称演示单台服务器如何配置多个tomcat实例。


环境

tomcat:/usr/local/tomcat-7.0.50

a.ttlsa.com

站点程序:/data/site/a.ttlsa.com

端口:8080

b.ttlsa.com

站点程序:/data/site/b.ttlsa.com

端口:8081


1. tomcat安装

安装很简单,配置好jdk与解压tomcat即可,关于《tomcat安装》我这边不再重复了。

如果连接失效,请复制http://www.ttlsa.com/web/install-tomcat7-on-linux/


2. 配置多实例目录

在tomcat安装目录下创建a.ttlsa.com、b.ttlsa.com,并且将conf、logs、webapp、temp、work目录拷贝到这两个目录,然后tomcat安装目录只需要留下bin、a.ttlsa.com、b.ttlsa.com、lib这4个目录即可。配置后的目录结构如下:

123456789101112131415161718# pwd /usr/local/tomcat-7.0.50 # tree -d -L 2 ├── bin ├── a.ttlsa.com │ ├── conf │ ├── logs │ ├── target │ ├── temp │ ├── webapp │ └── work ├── lib └── b.ttlsa.com ├── conf ├── logs ├── temp ├── webapp └── work

3. 配置站点server.xml

3.1 配置a.ttlsa.com

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

#
vim /usr/local/tomcat-7.0.50/a.ttlsa.com/conf/server.xml

//注释ajp

<!--
<Connector
port="8009"
protocol="AJP/1.3"
redirectPort="8443"
/>
-->

//server端口8005改为8001

<Server
port="8001"
shutdown="SHUTDOWN">

//在<Engine
name="Catalina" defaultHost="localhost">增加host配置,如下

<Host
name="a.ttlsa.com"
appBase="/data/site/a.ttlsa.com"

unpackWARs="true"
autoDeploy="true"

xmlValidation="false"
xmlNamespaceAware="false">

<Context
path=""
docBase=""
reloadable="true">

<valve
className="org.apache.catalina.valves.RemoteAddrValve"
/>

</Context>

</Host>

3.2 配置b.ttlsa.com

123456789101112131415# vim /usr/local/tomcat-7.0.50/a.ttlsa.com/conf/server.xml//注释ajp<!-- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> --> //server端口8005改为8002<Server port="8002" shutdown="SHUTDOWN"> //在<Engine name="Catalina" defaultHost="localhost">增加host配置,如下<Host name="b.ttlsa.com" appBase="/data/site/b.ttlsa.com" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="" docBase="" reloadable="true"> <valve className="org.apache.catalina.valves.RemoteAddrValve" /> </Context></Host>

4. 多实例启动脚本

在a.ttlsa.com、b.ttlsa.com目录下分别创建启动脚本tomcat.sh
4.1 脚本内容tomcat.sh

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

#!/bin/sh

#
AuthName:凉白开

#
Website:http://www.ttlsa.com

#
DateTime:2014-05-04

#
description: 启动tomcat多实例.

.
/etc/init.d/functions

RETVAL=$?

#
tomcat实例目录

export
CATALINA_BASE="$PWD"

#
tomcat安装目录

export
CATALINA_HOME="/usr/local/tomcat-7.0.50"

#
可选

export
JVM_OPTIONS="-Xms128m
-Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=512m"

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

echo
$"Stop
Tomcat"

$CATALINA_HOME/bin/shutdown.sh

fi

;;

*)

echo
$"Usage:
$0 {start|stop}"

exit
1

;;

esac

exit
$RETVAL

4.2 启动脚本赋权限

1# chmod a+x tomcat.sh

5. 启动测试

5.1 启动/关闭a.ttlsa.com

1

2

3

4

5

6

启动

#
cd /usr/local/tomcat-7.0.50/a.ttlsa.com/

#
./tomcat.sh start

关闭

#
cd /usr/local/tomcat-7.0.50/a.ttlsa.com/

#
./tomcat.sh stop

5.2 启动/关闭b.ttlsa.com

1

2

3

4

5

6

启动

#
cd /usr/local/tomcat-7.0.50/a.ttlsa.com/

#
./tomcat.sh start

关闭

#
cd /usr/local/tomcat-7.0.50/a.ttlsa.com/

#
./tomcat.sh stop

备注:一定需要cd到tomcat.sh的当前目录下执行才可以


6. 结束

配置到此结束,如果需要操作多个实例显得比较麻烦,大家可以自行写统一的脚本,我这边有自己的一份,有需要的可以找我要。内容比较多,就不贴出来了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  tomcat