在Debian系统上实现Tomcat负载均衡,常用方案为使用Nginx或Apache HTTP Server作为反向代理,以下是具体步骤:
sudo apt update
sudo apt install nginx tomcat9 tomcat9-admin # 安装Nginx和Tomcat
conf/server.xml中端口号不冲突(如8080、8081),并启用AJP连接器(若需与Apache整合):<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <!-- 仅用于Apache整合 -->
/etc/nginx/nginx.conf或/etc/nginx/sites-available/default):upstream tomcat_cluster {
server 127.0.0.1:8080; # Tomcat实例1
server 127.0.0.1:8081; # Tomcat实例2
# 可添加更多实例
}
server {
listen 80;
server_name your_domain.com;
location / {
proxy_pass http://tomcat_cluster; # 转发请求到Tomcat集群
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
sudo systemctl restart nginx tomcat9 # 重启服务
curl http://your_domain.com # 测试请求是否被负载均衡处理
sudo apt update
sudo apt install apache2 libapache2-mod-jk # 安装Apache和mod_jk
conf/server.xml中AJP连接器已启用(端口默认8009):<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
编辑/etc/apache2/workers.properties,定义Tomcat工作节点:
worker.list=tomcat1,tomcat2
worker.tomcat1.type=ajp13
worker.tomcat1.host=localhost
worker.tomcat1.port=8009
worker.tomcat2.type=ajp13
worker.tomcat2.host=localhost
worker.tomcat2.port=8010
编辑Apache虚拟主机配置(如/etc/apache2/sites-available/000-default.conf):
<VirtualHost *:80>
ServerName your_domain.com
JkMount /* tomcat1 # 将请求转发到Tomcat集群
JkMount /* tomcat2
</VirtualHost>
sudo systemctl restart apache2 tomcat9
curl http://your_domain.com # 测试负载均衡
conf/server.xml中配置集群(如<Cluster>标签),并使用Redis等存储会话数据。proxy_next_upstream配置自动剔除故障节点。location指令设置。以上配置可根据实际需求调整,优先选择Nginx方案,因其轻量级且配置简单。