CentOS 上搭建 Tomcat 集群
一 架构与准备
sudo yum install java-1.8.0-openjdk-devel;Tomcat 9 可从官方归档下载解压至 /opt/tomcat)。如使用 mod_jk,需安装 mod_jk 模块。以上为后续配置的前置条件。二 单节点 Tomcat 基础配置
CATALINA_HOME 并 source /etc/profile,便于多实例管理。三 集群会话复制配置
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>;如需在 <Cluster> 内):
address="228.0.0.4" port="45564" frequency="500" dropTime="3000"address="auto" port="4000" autoBind="100" selectorTimeout="5000" maxThreads="6"<distributable/>,使会话可复制。四 负载均衡配置
sudo yum install nginxhttp {
upstream tomcat_cluster {
server 192.168.1.11:8080;
server 192.168.1.12:8080;
}
server {
listen 80;
location / {
proxy_pass http://tomcat_cluster;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
}
worker.list=loadbalancer
worker.tomcat1.type=ajp13
worker.tomcat1.host=192.168.1.11
worker.tomcat1.port=8009
worker.tomcat2.type=ajp13
worker.tomcat2.host=192.168.1.12
worker.tomcat2.port=8009
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=tomcat1,tomcat2
worker.loadbalancer.sticky_session=1
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkMount /* loadbalancer
五 启动与验证及常见问题
systemctl enable tomcat 与 systemctl enable nginx)。