tomcat单机多实例配置实战
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个目录即可。配置后的目录结构如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
# 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
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改为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. 结束
配置到此结束,如果需要操作多个实例显得比较麻烦,大家可以自行写统一的脚本,我这边有自己的一份,有需要的可以找我要。内容比较多,就不贴出来了。
成长的对话版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!