對於如今server的配置,內存4G,動輒幾十G內存,徹底能夠一機多tomcat徹底利用起來。一機多tomcat須要修改tomcat配置文件幾處地方。java
1.tomcat環境變量
環境變量中自定義多tomcat主目錄
vi /etc/profile
sql
- export CATALINA_1_HOME=/usr/local/tomcat1
- export TOMCAT_1_HOME=/usr/local/tomcat1
- export CATALINA_2_HOME=/usr/local/tomcat2
- export TOMCAT_2_HOME=/usr/local/tomcat2
- export CATALINA_3_HOME=/usr/local/tomcat3
- export TOMCAT_3_HOME=/usr/local/tomcat3
2.tomcat配置文件server.xml端口JVM虛擬機名稱tomcat
每一個tomcat的8005 8080 8009 8443端口不能同樣,好比:jvm
tomcat1爲:ide
8005改成8501spa
8080改成8801rest
8009改成8901server
8443改成8401xml
tomcat2爲:內存
8005改成8502
8080改成8802
8009改成8902
8443改成8402
tomcat3爲:
8005改成8503
8080改成8803
8009改成8903
8443改成8403
修改JVM名稱:
找到每一個tomcat的<Engine name="Catalina" defaultHost="localhost">配置分別修改成修改成(每一個tomcat的jvm名稱不能一致):
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat3">
3.修改tomcat啓動、中止腳本
vi /etc/init.d/tomcat1
- #############################################
- export JAVA_HOME=/usr/java/default
- export CATALINA_HOME=$CATALINA_1_HOME
- case "$1" in
- 'start')
- /usr/local/tomcat1/bin/startup.sh
- touch /var/lock/subsys/tomcat1
- ;;
- 'stop')
- /usr/local/tomcat1/bin/shutdown.sh
- rm -f /var/lock/subsys/tomcat1
- ;;
- 'restart')
- $0 stop
- $0 start
- ;;
- *)
- echo "Usage: tomcat1 { start | stop | restart }"
- exit 1
- esac
- exit 0
- ###############################################
vi /etc/init.d/tomcat2
- #############################################
- export JAVA_HOME=/usr/java/default
- export CATALINA_HOME=$CATALINA_2_HOME
- case "$1" in
- 'start')
- /usr/local/tomcat2/bin/startup.sh
- touch /var/lock/subsys/tomcat2
- ;;
- 'stop')
- /usr/local/tomcat2/bin/shutdown.sh
- rm -f /var/lock/subsys/tomcat2
- ;;
- 'restart')
- $0 stop
- $0 start
- ;;
- *)
- echo "Usage: tomcat2 { start | stop | restart }"
- exit 1
- esac
- exit 0
- ###############################################
vi /etc/init.d/tomcat3
- #############################################
- export JAVA_HOME=/usr/java/default
- export CATALINA_HOME=$CATALINA_3_HOME
- case "$1" in
- 'start')
- /usr/local/tomcat3/bin/startup.sh
- touch /var/lock/subsys/tomcat3
- ;;
- 'stop')
- /usr/local/tomcat3/bin/shutdown.sh
- rm -f /var/lock/subsys/tomcat3
- ;;
- 'restart')
- $0 stop
- $0 start
- ;;
- *)
- echo "Usage: tomcat3 { start | stop | restart }"
- exit 1
- esac
- exit 0
- ###############################################
配置完成後須要給/etc/init.d/目錄中的tomcat1 tomcat2 tomcat3文件添加執行權限。
- chmod u+x /etc/init.d/tomcat1
- chmod u+x /etc/init.d/tomcat2
- chmod u+x /etc/init.d/tomcat3
而後啓動tomcat使用如下命令就能夠啓動了:
- service tomcat1 start
- service tomcat2 start
- service tomcat3 start
中止tomcat的命令與啓動命令基本相同,start改成tomcat就OK了。