ava不同于,单个站点更新维护都会影响到其他站点,一般都会将几个站点放在一个实例下。今天全称演示单台服务器如何配置多个实例。
环境
tomcat:/usr/local/tomcat
a.ttlsa.com 站点程序:/data/site/a.ttlsa.com 端口:8080b.ttlsa.com
站点程序:/data/site/b.ttlsa.com 端口:80811. tomcat安装
安装很简单,配置好jdk与解压tomcat即可,关于《》我这边不再重复了。
如果连接失效,请复制http://www.ttlsa.com/web/install-tomcat7-on-/
2. 配置多实例目录
在tomcat安装目录下创建a.ttlsa.com、b.ttlsa.com,并且将conf、logs、webapp、temp、work目录拷贝到这两个目录,然后tomcat安装目录只需要留下bin、a.ttlsa.com、b.ttlsa.com、lib这4个目录即可。配置后的目录结构如下:
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的当前目录下执行才可以
这里我启动失败:
解决方案:
编辑文件 /usr/local/tomcat/bin/catalina.sh (根据你自己的jdk路径进行修改) 在文件的正文开头,即正式代码前,大概在99行添加如下代码export JAVA_HOME=/usr/local/jdk1.8export JRE_HOME=/usr/local/jdk1.8/jre
然后启动测试-成功:
关闭测试-成功: