在一个linux服务器上需要运行多个tomcat,需要做一些配置,不然除了端口会冲突,执行其中一个tomcat的bin目录下的startup.sh和shutdown.sh会有同时启动/停止2个tomcat下应用的情况
1.修改对应tomcat下conf目录下的server.xml文件,指定其对应端口号
- tomcat01的配置保持默认,tomcat02的配置,修改如下:
- 第一个地方:修改关闭监听端口,默认8005,修改为8055,当然你可以改成其他任意没有用过的端口号。
<Server port="8055" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
- 第二个地方:修改http监听端口,默认8080,这里改成8050。
<Connector port="8050" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
- 第三个地方:修改 AJP 的对应端口,默认8009,修改为8059:
<Connector port="8059" protocol="AJP/1.3" redirectPort="8443" />
好了,这样就把第一个的server.xml配置修改完成了。第三个tomca03等的配置类似。
2.修改对应tomcat下bin目录下的catalina.sh文件,设置CATALINA_HOME、CATALINA_BASE的值
catalina.sh,该文件会在startup.sh和shutdown.sh脚本里被调用
打开catalina.sh ,找到下面这行字,
# OS specific support. $var _must_ be set to either true or false.
在下面增加如下代码:
export CATALINA_BASE=$(cd `dirname $0`;cd ..;pwd)
export CATALINA_HOME=$(cd `dirname $0`;cd ..;pwd)
$ cd `dirname $0`这个命令写在脚本文件里才有作用,它返回这个脚本文件放置的目录,并可以根据这个目录来定位所要运行程序的相对位置(绝对位置除外)。