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
 

测试访问多实例:

posted @   技术颜良  阅读(263)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
点击右上角即可分享
微信分享提示