tomcat单机多实例配置实战

来源:互联网 发布:mysql怎么执行sql语句 编辑:程序博客网 时间:2024/05/27 19:28

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个目录即可。配置后的目录结构如下:

# 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

# 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

# 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

#!/bin/sh
 # AuthName:凉白开
 # Website:http://www.ttlsa.com
 # DateTime:2014-05-04
 # description: 启动tomcat多实例.
 . /etc/init.d/functions
 RETVAL=$?
 # tomcat实例目录
 exportCATALINA_BASE="$PWD"
 # tomcat安装目录
 exportCATALINA_HOME="/usr/local/tomcat-7.0.50"
 # 可选
 exportJVM_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}"
 exit1
 ;;
 esac
 exit$RETVAL

4.2 启动脚本赋权限

# chmod a+x tomcat.sh

5. 启动测试

5.1 启动/关闭a.ttlsa.com

启动
 # 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

启动
 # 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单机多实例配置实战
本文地址: http://www.ttlsa.com/tomcat/config-multi-tomcat-instance/
除非注明,博客文章均为"运维生存时间"原创,转载请标明本文地址
交流群:①群39514058(满)、②群6690706(满)、③群168085569(新)
0 0