Tomcat9基于单实例转换多实例配置过程

 

  • 基于上方部署的Tomcat环境,如未部署Tomcat请移步:点击跳转

复制tomcat目录:(确保tomcat没有运行,否则在system管理多实例报错)

cp -a /usr/local/tomcat9/ /usr/local/tomcat_1
cp -a /usr/local/tomcat9/ /usr/local/tomcat_2
 

修改多实例tomcat端口号:(tomcat_1实例)
vim /usr/local/tomcat_1/conf/server.xml

<Server port="8005" shutdown="SHUTDOWN">   修改为   <Server port="8011" shutdown="SHUTDOWN">    #第22行
<Connector port="8080" protocol="HTTP/1.1"    修改为    <Connector port="8081" protocol="HTTP/1.1"    #第69行
<Host name="localhost"  appBase="webapps"    修改为    <Host name="localhost"  appBase="/data/tomcat1"    #第148行

<Context path="" docBase="/usr/local/tomcat9/webapps/jpress-web-newest" debug="0" reloadable="false" crossContext="true" />    #第150行,删除之前加的一样子目录配置(注意:如果没有添加那就不用删除)
 

修改多实例tomcat端口号:(tomcat_2实例)
vim /usr/local/tomcat_2/conf/server.xml

<Server port="8005" shutdown="SHUTDOWN">   修改为   <Server port="8012" shutdown="SHUTDOWN">    #第22行
<Connector port="8080" protocol="HTTP/1.1"    修改为    <Connector port="8082" protocol="HTTP/1.1"    #第69行
<Host name="localhost"  appBase="webapps"    修改为    <Host name="localhost"  appBase="/data/tomcat2"    #第148行

<Context path="" docBase="/usr/local/tomcat9/webapps/jpress-web-newest" debug="0" reloadable="false" crossContext="true" />    #第150行,删除之前加的一样子目录配置(注意:如果没有添加那就不用删除)
 

创建跟目录:
mkdir -p /data/tomcat{1,2}/ROOT

配置systemd管理:(tomcat_1实例)
vim /usr/lib/systemd/system/tomcat1.service

[Unit]
Description=Tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/tomcat_1/tomcat.pid
ExecStart=/usr/local/tomcat_1/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
 

配置systemd管理:(tomcat_2实例)
vim /usr/lib/systemd/system/tomcat2.service

[Unit]
Description=Tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/tomcat_2/tomcat.pid
ExecStart=/usr/local/tomcat_2/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
 

启动多实例:

systemctl daemon-reload
systemctl start tomcat1 && systemctl enable tomcat1
systemctl start tomcat2 && systemctl enable tomcat2
 

写入java代码到tomcat多实例根目录:

echo '49+1=<%=49+1%>' > /data/tomcat1/ROOT/index.jsp
echo '99+1=<%=99+1%>' > /data/tomcat2/ROOT/index.jsp
 

测试访问多实例:

原文地址:https://www.cnblogs.com/cheyunhua/p/13396727.html