下面给你一份在 Debian 上搭建 Tomcat 集群的实用方案,涵盖常见拓扑、负载均衡、Session 共享,适合生产环境参考。
+------------------+
| Nginx / HAProxy |
| (负载均衡) |
+--------+---------+
|
+---------------+---------------+
| | |
+----v----+ +----v----+ +----v----+
| Tomcat1 | | Tomcat2 | | Tomcat3 |
+---------+ +---------+ +---------+
| | |
+------- Redis / DB -----------+
sudo apt update
sudo apt install openjdk-17-jdk -y
java -version
sudo useradd -r -m -s /bin/false tomcat
cd /opt
sudo wget https://archive.apache.org/tomcat/tomcat-10/v10.1.20/bin/apache-tomcat-10.1.20.tar.gz
sudo tar xzf apache-tomcat-10.1.20.tar.gz
sudo mv apache-tomcat-10.1.20 /opt/tomcat1
sudo chown -R tomcat:tomcat /opt/tomcat1
sudo cp -r /opt/tomcat1 /opt/tomcat2
sudo chown -R tomcat:tomcat /opt/tomcat2
编辑:
/opt/tomcat2/conf/server.xml
修改:
sudo apt install nginx -y
upstream tomcat_cluster {
server 127.0.0.1:8080;
server 127.0.0.1:8081;
}
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://tomcat_cluster;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
sudo nginx -t
sudo systemctl reload nginx
sudo apt install redis-server -y
/opt/tomcat1/lib/
/opt/tomcat2/lib/
放入:
tomcat-redis-session-manager.jarjedis.jarcontext.xml<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
host="127.0.0.1"
port="6379"
database="0"
maxInactiveInterval="1800"/>
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
❌ 缺点:
/opt/tomcat1/bin/startup.sh
/opt/tomcat2/bin/startup.sh
http://服务器IP✅ 使用 systemd 管理 Tomcat
✅ 启用 HTTPS(Let’s Encrypt)
✅ Redis 做高可用
✅ Nginx 限流 + 健康检查
如果你愿意,我可以:
你打算用在 测试 / 生产 / 云服务器 哪种环境?