在 Debian 上安装多个 Tomcat 实例常见有两种方式:
下面分别说明。
sudo apt update
sudo apt install default-jdk
java -version
以 Tomcat 9 为例:
cd /opt
sudo wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.89/bin/apache-tomcat-9.0.89.tar.gz
sudo tar -xzf apache-tomcat-9.0.89.tar.gz
sudo cp -r apache-tomcat-9.0.89 tomcat1
sudo cp -r apache-tomcat-9.0.89 tomcat2
编辑每个 Tomcat 的 conf/server.xml:
sudo nano /opt/tomcat1/conf/server.xml
sudo nano /opt/tomcat2/conf/server.xml
需要修改的端口(每个实例不能冲突):
<Server port="8005" shutdown="SHUTDOWN"> <!-- 改为 8006 -->
<Connector port="8080" .../> <!-- 改为 8081 -->
<Connector port="8009" protocol="AJP/1.3" /><!-- 改为 8010 -->
/opt/tomcat1/bin/startup.sh
/opt/tomcat2/bin/startup.sh
访问:
sudo mv apache-tomcat-9.0.89 /opt/tomcat
sudo mkdir -p /opt/tomcat-instance1/{conf,logs,webapps,work,temp}
sudo mkdir -p /opt/tomcat-instance2/{conf,logs,webapps,work,temp}
sudo cp -r /opt/tomcat/conf/* /opt/tomcat-instance1/conf/
sudo cp -r /opt/tomcat/conf/* /opt/tomcat-instance2/conf/
同方式一,修改 instance1/conf/server.xml 和 instance2/conf/server.xml
CATALINA_HOME=/opt/tomcat \
CATALINA_BASE=/opt/tomcat-instance1 \
/opt/tomcat/bin/catalina.sh start
CATALINA_HOME=/opt/tomcat \
CATALINA_BASE=/opt/tomcat-instance2 \
/opt/tomcat/bin/catalina.sh start
示例 /etc/systemd/system/tomcat1.service:
[Unit]
Description=Tomcat 1
After=network.target
[Service]
Type=forking
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_BASE=/opt/tomcat-instance1"
ExecStart=/opt/tomcat/bin/catalina.sh start
ExecStop=/opt/tomcat/bin/catalina.sh stop
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start tomcat1
如果你告诉我 Debian 版本 / Tomcat 版本 / 是否用 apt 安装,我可以给你更精确的命令。