以下是在CentOS上搭建Tomcat集群的步骤:
安装Java环境
确保所有节点安装兼容的JDK(如OpenJDK 8/11):
sudo yum install java-1.8.0-openjdk-devel # 以OpenJDK 8为例
下载并安装Tomcat
从官网下载Tomcat压缩包,解压到指定目录(如/opt/tomcat
):
wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz
tar -xzf apache-tomcat-9.0.56.tar.gz
sudo mv apache-tomcat-9.0.56 /opt/tomcat
配置Tomcat集群
修改每个节点的conf/server.xml
,在<Engine>
标签内添加集群配置:
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster">
<Manager className="org.apache.catalina.ha.session.DeltaManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"/>
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Membership className="org.apache.catalina.tribes.membership.McastService"
address="228.0.0.4"
port="45564"/>
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="auto"
port="4000"/>
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"/>
</Channel>
</Cluster>
配置负载均衡器(以Nginx为例)
sudo yum install epel-release
sudo yum install nginx
/etc/nginx/nginx.conf
,添加集群配置:upstream tomcat_cluster {
server 192.168.1.1:8080; # 替换为实际节点IP
server 192.168.1.2:8080;
}
server {
listen 80;
location / {
proxy_pass http://tomcat_cluster;
}
}
sudo systemctl start nginx
sudo systemctl enable nginx
验证集群
启动所有Tomcat实例,访问Nginx的IP或域名,通过查看响应节点IP或日志确认请求被分发到集群节点。
可选步骤:
server.xml
中启用DeltaManager
(如上述配置已包含)。sudo firewall-cmd --add-port=8080/tcp --permanent
sudo firewall-cmd --add-port=80/tcp --permanent
sudo firewall-cmd --reload
参考来源: