宝塔面板提供三种Tomcat集群部署方案:一、软件商店安装后手动配置多实例与反向代理;二、计划任务+Shell脚本批量部署;三、使用第三方集群管理插件图形化纳管。

如果您希望在服务器上快速构建高可用的Java Web服务,但缺乏手动配置集群的经验,则可能是由于Tomcat集群涉及多节点协调、会话共享与负载均衡等复杂环节。以下是实现宝塔面板一键安装并部署Tomcat集群环境的多种可行路径:
一、通过宝塔软件商店安装单节点Tomcat后手动扩展为集群
该方法利用宝塔内置的Tomcat安装能力作为基础,再通过SSH手动配置多个Tomcat实例及反向代理,适用于对集群控制粒度要求较高的场景。
1、登录宝塔面板,在左侧菜单栏点击【软件管理】,进入【软件商店】搜索“Tomcat”,选择对应JDK版本(如Tomcat9需匹配JDK1.8)进行一键安装。
2、安装完成后,在【网站】→【Java项目】中创建第一个Tomcat站点,设置端口为8080,根目录指向/www/server/tomcat/webapps。
3、使用SSH工具连接服务器,执行命令复制Tomcat主目录:cp -r /www/server/tomcat /www/server/tomcat2。
4、编辑/www/server/tomcat2/conf/server.xml,将Server port改为8006,Connector port改为8081,AJP port改为8010。
5、在/www/server/tomcat2/conf/server.xml的<Engine>标签内添加jvmRoute="tomcat2"属性。
6、在/www/server/tomcat2/conf/context.xml中取消<Manager className="org.apache.catalina.session.PersistentManager">注释,并确保distributable属性存在。
7、返回宝塔面板,在【网站】→【添加站点】中新建一个反向代理站点,目标URL填写http://127.0.0.1:8080和http://127.0.0.1:8081,启用负载均衡模式。
8、在【安全】中放行端口8080、8081、8006、8010,并在云服务商控制台同步开放对应安全组端口。
二、使用宝塔计划任务+Shell脚本批量部署多实例Tomcat
该方法通过宝塔内置的计划任务功能触发自定义脚本,实现多个独立Tomcat实例的自动化拉起与配置,避免人工重复操作。
1、在宝塔面板左侧点击【计划任务】,点击【添加计划任务】,任务类型选择【Shell脚本】。
2、在脚本内容框中粘贴以下代码(以部署两个实例为例):
#!/bin/bash<br>cp -r /www/server/tomcat /www/server/tomcat-node1<br>cp -r /www/server/tomcat /www/server/tomcat-node2<br>sed -i 's/port="8005"/port="8006"/g' /www/server/tomcat-node1/conf/server.xml<br>sed -i 's/port="8080"/port="8081"/g' /www/server/tomcat-node1/conf/server.xml<br>sed -i 's/port="8009"/port="8010"/g' /www/server/tomcat-node1/conf/server.xml<br>sed -i 's/port="8005"/port="8007"/g' /www/server/tomcat-node2/conf/server.xml<br>sed -i 's/port="8080"/port="8082"/g' /www/server/tomcat-node2/conf/server.xml<br>sed -i 's/port="8009"/port="8011"/g' /www/server/tomcat-node2/conf/server.xml<br>echo "export CATALINA_HOME=/www/server/tomcat-node1" >> /etc/profile<br>echo "export CATALINA_BASE=/www/server/tomcat-node1" >> /etc/profile<br>source /etc/profile<br>/www/server/tomcat-node1/bin/startup.sh<br>/www/server/tomcat-node2/bin/startup.sh
3、设置执行周期为【仅执行一次】,点击【添加任务】并立即执行。
4、执行完成后,在【终端】中运行ps aux | grep tomcat确认两个Java进程已启动。
5、在【网站】中新增Nginx站点,配置upstream模块指向127.0.0.1:8081与127.0.0.1:8082,启用ip_hash实现会话保持。
6、在Nginx配置文件的location /块中添加proxy_set_header X-Forwarded-For $remote_addr;以透传真实IP。
三、借助宝塔插件市场第三方集群管理插件(如Cluster Manager)
该方法依赖社区开发的增强型插件,提供图形化界面统一纳管多个Tomcat节点,适合不熟悉Shell但需频繁扩缩容的运维人员。
1、访问宝塔官方插件市场(需先开通付费企业版或使用支持插件的正式版11.6.0),搜索关键词“cluster”或“tomcat manager”。
2、找到名称为Cluster Manager for Tomcat的插件,点击【安装】并等待完成。
3、安装成功后,在左侧菜单栏出现【集群管理】入口,点击进入。
4、点击【添加节点】,填写节点名称、IP地址(可为127.0.0.1)、SSH端口、用户名、密码及Tomcat安装路径(如/www/server/tomcat)。
5、为每个节点指定唯一jvmRoute值(如node1、node2),并勾选【启用Session复制】。
6、在【负载策略】中选择【加权轮询】,为各节点分配权重值(如node1=3,node2=2)。
7、点击【生成集群配置】,插件自动修改所有节点的server.xml与context.xml,并重启服务。
8、在【监控面板】中查看各节点CPU、内存、线程数及会话同步状态,绿色在线标识表示集群通信正常。










