以下是在Debian上配置Tomcat集群的步骤:
安装Tomcat
在每台服务器上安装相同版本的Tomcat:
sudo apt update
sudo apt install tomcat9 tomcat9-admin # 以Tomcat 9为例
配置Tomcat实例
server.xml
:在每个实例的conf/server.xml
中添加集群配置,确保jvmRoute
唯一:<Engine name="Catalina" defaultHost="localhost" jvmRoute="node1"> <!-- 每个实例jvmRoute不同 -->
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster">
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Membership className="org.apache.catalina.tribes.membership.McastService"
address="228.0.0.4" port="45564"/> <!-- 组播地址和端口 -->
</Channel>
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/>
</Cluster>
</Engine>
Connector
端口不同(如8080、8081等)。配置负载均衡(以Nginx为例)
sudo apt install nginx
/etc/nginx/nginx.conf
中添加集群代理:upstream tomcat_cluster {
server 192.168.1.101:8080; # 替换为实际节点IP和端口
server 192.168.1.102:8080;
}
server {
listen 80;
location / {
proxy_pass http://tomcat_cluster;
proxy_set_header Host $host;
}
}
重启Nginx:sudo systemctl restart nginx
。会话管理(可选)
SimpleTcpCluster
的ReplicationValve
实现(默认配置支持,但性能较低,适合小规模集群)。验证集群
http://服务器IP/
,通过查看响应内容或日志确认请求被分发到不同实例。注意事项:
ip_hash
或sticky
策略实现会话保持,避免频繁复制会话。参考来源: