由于业务项目涉及站点过多,每次更新重启tomcat时也重启了其他站点,对业务需求带来不便,特部署多实例。
系统环境:
jdk路径:/usr/local/jdk1.7.0_21/bin
tomcat所在目录:/data/apache-tomcat-7.0.56
多实例站点名称:WAP和API(在tomcat根目录下创建站点,如下图)
tomcat目录:
![](https://img-blog.csdn.net/20150227175412875?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMjU5OTk4OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
多实例配置:
由上图,我们以创建API和WAP两个文件夹,然后把tomcat中conf,logs,work,webapps,temp文件分别全部拷贝我们不同站点下。
逐一站点配置server.xml 如API:
<!-- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> --> |
<Server port="8003" shutdown="SHUTDOWN"> |
<Connector port="8031" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
//在<Engine name="Catalina" defaultHost="localhost">增加host配置,如下 |
<Host name="xc" appBase="/data/apache-tomcat-7.0.56/API/webapps" |
unpackWARs="true" autoDeploy="true" |
xmlValidation="false" xmlNamespaceAware="false"> |
<Context path="" docBase="" reloadable="true"> |
<valve className="org.apache.catalina.valves.RemoteAddrValve" /> |
编写启动关闭脚本:
在不同的站点根目录下面均需编写脚本,启动tomcat.sh脚本如下:
export CATALINA_BASE= "$PWD" |
export CATALINA_HOME="/data/apache-tomcat-7.0.56/ " |
export JVM_OPTIONS= "-Xms128m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=512m" |
if [ -f $CATALINA_HOME/bin/startup.sh ]; then |
$CATALINA_HOME/bin/startup.sh |
if [ -f $CATALINA_HOME/bin/ shutdown .sh ]; then |
$CATALINA_HOME/bin/ shutdown .sh |
echo $ "Usage: $0 {start|stop}" |
给予脚本权限:chmod 755 tomcat.sh
测试:
需进入到tomcat下站点实例,才可执行启动tomcat.sh
./tomcat.sh start
./tomcat.sh stop
查看是否启动:ps -ef | grep tomcat
访问测试ip+8031/站点:
![](https://img-blog.csdn.net/20150227181306282?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMjU5OTk4OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)