多项目部署同一个服务器不同的tomcat
前言
问题如下:有若干个微服务,例如:业务1-n module,注册中心module,
网关module,需要部署到服务器上,网关和注册中心需要独立端口。
在同一个tomcat服务器部署
如果要在同一个tomcat进行部署,则需要给tomcat配置多个端口
-
首先修改server.xml 【CATALINA_HOME/conf/server.xml】
-
在server.xml中仿照原有的8080端口
标签按需添加多个 -
修改添加的
标签,Service name、Engine name、appBase 以及端口号要区分开来,如下图
- 修改完server.xml后,重新启动tomcat,目录上将会多出几个目录(如之前在server.xml配置的 appBase,此处为webapps1)
- 将对应端口的项目打包成war包后放入对应目录重启即可
在多个tomcat部署
多个tomcat部署,此处环境为centos 7 + tomcat 9
-
首先下载tomcat后解压,按需复制多份,tomcat9下载地址
-
修改后续tomcat的
server.xml
文件,修改如下几处 -
开放修改的tomcat端口,使用命令
firewall-cmd --zone=public --add-port=xxxx/tcp --permanent
开放端口,之后使用firewall-cmd --reload
刷新配置 -
首先确定centos有没有java环境,使用命令
which java
查看jdk安装路径 -
配置jdk和tomcat环境变量,修改
etc/profile
文件,如下# java 环境 JAVA_HOME=/kingdom/jdk1.8.0_191 JRE_HOME=$JAVA_HOME/jre PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/dt.jar export JAVA_HOME JRE_HOME PATH CLASSPATH #tomcat-web 环境配置 export CATALINA_HOME=/usr/local/tomcat-web export CATALINA_BASE=/usr/local/tomcat-web export TOMCAT_HOME=/usr/local/tomcat-web # tomcat-sjzyq 环境配置 export CATALINA_HOME1=/usr/local/tomcat-sjzyq export CATALINA_BASE1=/usr/local/tomcat-sjzyq export TOMCAT_HOME1=/usr/local/tomcat-sjzyq # tomcat-open-api 环境配置 export CATALINA_HOME2=/usr/local/tomcat-open-api export CATALINA_BASE2=/usr/local/tomcat-open-api export TOMCAT_HOME2=/usr/local/tomcat-open-api
-
修改完之后使用
source /etc/profile
激活配置 -
修改tomcat的catalina.sh (第一个tomcat可以不修改,后续的需要),进入tomcat/bin目录,
vim catalina.sh
, 在# OS specific support. $var must be set to either true or false.下面增加如下内容,使用/+关键字
进行查找# 将之前在 /etc/profile中配置的环境变量和tomcat中的进行关联 export CATALINA_BASE=$CATALINA_2_BASE export CATALINA_HOME=$CATALINA_2_HOME
-
全部修改完之后,将各个项目分别放进配置好的tomcat,之后启动即可