因业务需求 需要把多个项目放在一个tomcat下面里,看了网上的各种方法,看都看晕了,然后尝试之后,介绍一种最简单的方式,(最有效!)推荐给各位小伙伴。
步骤如下:
1.copy一个webapps (里面的文件不重要) 重要的是你的项目 新建webapps1 然后将你的项目扔进去
2.配置server.xml 简单点就是copy一个<Service></Service>节点 直接看代码
<!--此为默认配置-->
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!--这里可以选择配置 (起初没有项目的情况下 可以配置 如果有就不需要配 因为默认跑的就是这个下面的项目名)-->
<!--配置方式-->
<!--<Context docBase="demo" path="/soft/apache-tomcat-7.0.70/webapps" reloadable="true" />-->
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine>
</Service>
注意!!!请看我的设置(红色部分 是我改动的地方)
<!--此为配置的项目-->
<Service name="Catalina">
<Connector port="8090" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps1"
unpackWARs="true" autoDeploy="true">
<Context docBase="demo1" path="/soft/apache-tomcat-7.0.70/webapps1" reloadable="true" />
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine>
</Service>
</Server>
到这里 保存 启动项目 你会发现 还是启动失败 原因是内存溢出了 这个就很常见了 OutOfMemoryError: PermGen space
提供解决办法 :
打开tomcat/bin/catalina.sh 找到 echo"Using CATALINA_BASE"之前的一行
添加代码:
JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1024m -Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=256m -XX:PermSize=512m -XX:MaxPermSize=512m"
保存即可
最后在启动一下 访问地址:
http://192.168.10.12/demo http://192.168.10.12/demo1
success!!!