Tomcat配置多个Service,多个同名的应用运行在一个tomcat下


网站项目中有时候会碰到,每个网站一个网站后台程序,偏偏因为某种原因,这后台程序的名称还是一样的,比如都叫 app.war,这样如果有2个或以上网站需要用各自的app.war,那么就需要安装多个tomcat,资源浪费比较大。也不好管理。有没有一种可能,将这几个app.war放到一个tomcat下运行呢? 答案是可以的。

修改%TOMCAT_HOME%/conf/server.xml 
将Service元素复制一份,直接粘贴到原来那个Service元素之后,即 …..这一部分复制下来,放到第一个 之后,然后再继续修改刚刚添加的部分配置信息:

按照下列步骤修改第二个Service元素:

将Service元素的name属性改为Catalina2 
将第一个Connector元素的port属性由8080改为其他未使用的端口,如8081 
将第二个Connector元素的port属性由8009改为其他未使用的端口,如8010 
将Engine元素的name属性由Catalina改为Catalina2,与Service的name属性保持一致 
将Host元素的appBase属性由webapps改为webapps2 
创建目录 
%TOMCAT_HOME%/conf/Catalina2/localhost 
%TOMCAT_HOME%/webapps2 
将%TOMCAT_HOME%/webapps/ROOT复制到%TOMCAT_HOME%/webapps2

这样就有两个工程放置的目录,一个是webapp 一个是webapp2,这里面都可以放你的war工程,而且如果工程名字相同都没有问题。它们之间是没有干扰的。

启动Tomcat 
访问tomcat主页 可以 
http://localhost:8080/app 
http://localhost:8081/app

当然你可以配置了多个 Service 元素。就需要修改Tomcat的内存参数,防止内存溢出。如果你是linux系统,修改 %TOMCAT_HOME%/bin/catalina.bat 
-Xms //初始堆大小 
-Xmx //最大堆大小 
-XX:PermSize //初始永久区大小 
-XX:MaxPermSize //最大永久区大小 
放到有效配置的第一行

set JAVA_OPTS=-server -Xincgc -Xms1024m -Xmx1024m -XX:MaxPermSize=256m

如果你是windows系统,去修改注册表吧, 
HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\tomcat6.0\Parameters\Java 
右边的 Options 里面一条配置占一行 前后不能有空格。 
然后重启。

猜你喜欢

转载自blog.csdn.net/hunhun1122/article/details/80654805