在 Debian 上配置 Tomcat 集群,通常目标是实现负载均衡 + 会话共享。下面给你一套实用、常见、可落地的方案,适合生产环境。
用户
|
Nginx / Apache(负载均衡)
|
+-- Tomcat1 (Debian)
+-- Tomcat2 (Debian)
+-- Tomcat3 (Debian)
Tomcat 之间:
sudo apt update
sudo apt install tomcat9 -y
多节点时,建议:
- 每台机器一个 Tomcat
- 或修改
server.xml中端口避免冲突(如果是单机多实例)
Tomcat 目录:
/etc/tomcat9/
/var/lib/tomcat9/
/var/log/tomcat9/
sudo apt install redis-server -y
下载:
tomcat-redis-session-managercommons-pool2jedis放入:
/var/lib/tomcat9/lib/
context.xml<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
host="127.0.0.1"
port="6379"
database="0"
maxInactiveInterval="1800" />
✅ 优点:
修改 server.xml:
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
并配置:
ReceiverSenderMembership⚠ 缺点:
sudo apt install nginx -y
编辑:
/etc/nginx/sites-available/tomcat
upstream tomcat_cluster {
ip_hash;
server 192.168.1.11:8080;
server 192.168.1.12:8080;
server 192.168.1.13:8080;
}
server {
listen 80;
location / {
proxy_pass http://tomcat_cluster;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
启用:
ln -s /etc/nginx/sites-available/tomcat /etc/nginx/sites-enabled/
nginx -t
systemctl restart nginx
如果你用 Apache + mod_jk:
<Connector port="8009" protocol="AJP/1.3" />
Nginx 一般不用 AJP,用 HTTP 即可。
✅ 建议:
manager 做状态检查| 组件 | 作用 |
|---|---|
| Nginx | 负载均衡 |
| Tomcat × N | 应用节点 |
| Redis | Session 共享 |
| Debian | 操作系统 |
如果你愿意,我可以:
你现在是 物理机 / 虚拟机 / Docker / 云服务器?