启动Tomcat

主机和备用机分别使用Docker启动一个Tomcat,版本号最好不同,启动成功后有可能通过外部浏览器无法访问,解决方法查看博客:Docker启动Tomcat成功后外部却无法访问

修改Nginx配置

修改主机和备用机的Nginx配置,修改内容一样

修改nginx.conf配置文件(在/etc/nginx目录下),在include /etc/nginx/conf.d/*.conf上方加上:

1
2
3
4
upstream www.123.com{
server 192.168.0.106:8080 weight=5;
server 192.168.0.107:8080 weight=10;
}

修改default.conf配置文件(在/etc/nginx/conf.d目录下),在location /节点加上:

1
proxy_pass  http://www.123.com;

server_name可以修改成 www.123.com ,也可以不修改

重启Nginx

1
systemctl restart nginx

测试

浏览器地址输入:http://192.168.0.106/或者http://192.168.0.107/

不断刷新页面,访问了主机和备用机的Tomcat,此时Nginx+Tomcat负载均衡完成

如果出现错误:502 Bad Gateway,这是因为Nginx 主机的 SELinux 服务限制了其(即 Nginx)使用 http 访问权限引起的,输入以下命令即可解决此问题,如果不生效再重启Nginx

1
setsebool -P httpd_can_network_connect 1    # “1”为开启,“0”为关闭

打开Keepalived服务

1
systemctl start keepalived

浏览器地址输入Keepalived配置的virtual_ipaddress,该配置文件在/etc/keepalived目录下,此时已经完成了Keepalived+Nginx+Tomcat负载均衡