确保系统已更新:
sudo apt update && sudo apt upgrade -y
安装必要工具:
sudo apt install -y wget curl vim
sudo apt install -y default-jdk
验证安装:
java -version
sudo apt install -y tomcat9 tomcat9-admin
编辑用户配置文件:
sudo vim /etc/tomcat9/tomcat-users.xml
在<tomcat-users>
标签内添加:
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="admin" password="your_password" roles="manager-gui,admin-gui"/>
sudo systemctl enable tomcat9
sudo systemctl start tomcat9
访问 http://your_server_ip:8080
应该能看到Tomcat欢迎页面
sudo apt install -y nginx
编辑Nginx配置文件:
sudo vim /etc/nginx/sites-available/load_balancer
添加以下内容(假设有2个Tomcat实例,分别在8080和8081端口):
upstream tomcat_servers {
server 127.0.0.1:8080;
server 127.0.0.1:8081;
# 可以添加更多服务器
# server 192.168.1.2:8080;
# server 192.168.1.3:8080;
}
server {
listen 80;
server_name your_domain.com;
location / {
proxy_pass http://tomcat_servers;
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;
}
}
sudo ln -s /etc/nginx/sites-available/load_balancer /etc/nginx/sites-enabled/
sudo nginx -t # 测试配置
sudo systemctl restart nginx
如果需要在本机运行多个Tomcat实例:
sudo cp -r /etc/tomcat9 /etc/tomcat9-2
sudo cp -r /var/lib/tomcat9 /var/lib/tomcat9-2
编辑 /etc/tomcat9-2/server.xml
,修改以下端口(避免冲突):
<Server port="8006" shutdown="SHUTDOWN">
<Connector port="8081" protocol="HTTP/1.1" ...>
<Connector port="8444" protocol="org.apache.coyote.http11.Http11NioProtocol" ...>
sudo cp /lib/systemd/system/tomcat9.service /etc/systemd/system/tomcat9-2.service
编辑 /etc/systemd/system/tomcat9-2.service
,修改:
Environment=CATALINA_BASE=/var/lib/tomcat9-2
Environment=CATALINA_CONF=/etc/tomcat9-2
sudo systemctl daemon-reload
sudo systemctl enable tomcat9-2
sudo systemctl start tomcat9-2
Nginx支持多种负载均衡策略:
轮询(默认):
upstream tomcat_servers {
server 127.0.0.1:8080;
server 127.0.0.1:8081;
}
加权轮询:
upstream tomcat_servers {
server 127.0.0.1:8080 weight=3;
server 127.0.0.1:8081 weight=1;
}
IP哈希(保持会话):
upstream tomcat_servers {
ip_hash;
server 127.0.0.1:8080;
server 127.0.0.1:8081;
}
最少连接:
upstream tomcat_servers {
least_conn;
server 127.0.0.1:8080;
server 127.0.0.1:8081;
}
查看Nginx状态:
sudo systemctl status nginx
查看Tomcat状态:
sudo systemctl status tomcat9
性能优化:
/etc/nginx/nginx.conf
中)/etc/tomcat9/server.xml
中)端口冲突:
netstat -tulnp
检查端口占用权限问题:
502 Bad Gateway:
会话保持问题:
ip_hash
策略通过以上步骤,您已经在Debian系统上成功搭建了Nginx+Tomcat的负载均衡环境。根据实际需求,您可以进一步优化配置或添加更多Tomcat节点。