keepalived配置VIP+宝塔BT面板nginx配置tcp负载均衡高可用方案 |
发表者:admin分类:应用服务2022-03-17 17:59:46 阅读[807] |
keepalived配置VIP+宝塔BT面板nginx配置tcp负载均衡高可用方案
一,环境介绍。
1,主机配置。
主机:LB01,IP: 192.168.137.30,centos7,BT面板(只装nginx),Keepalived 是master角色.
主机:LB02,IP: 192.168.137.31,centos7,BT面板(只装nginx),Keepalived 是backup角色.
docker主机:IP: 192.168.137.32,centos7,docker,安装2个nginx容器模拟2个web站点,如下:
192.168.137.32:8341 ,OA业务集群站点
192.168.137.32:8342, OA业务集群站点
VIP: 192.168.137.41, tcp负载端口 8001。
2,实现效果。
vip提供高可用,访问 192.168.137.41:8001端口时,转发到后端服务器192.168.137.32的8341与8342端口上。
当然你可以购买面板上面的商业收费功能,也是一样的效果。
二,keepalived主机配置。
1,LB01 master主机的keepalived.conf配置。
global_defs {
notification_email {
root@localhost
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id tcp-1
}
vrrp_instance VI_1 {
state MASTER
nopreempt #LB01故障恢复后不抢占vip
#preempt_delay 30
interface eth0
virtual_router_id 55
priority 150 # LB02的优先级数值要小于150
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.137.41/24
}
}
2,LB02 backup主机的keepalived.conf配置。
global_defs {
notification_email {
root@localhost
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id tcp-1
}
vrrp_instance VI_1 {
state BACKUP
#nopreempt
#preempt_delay 30
interface eth0
virtual_router_id 55
priority 145 # LB02的优先级数值要小于150
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.137.41/24
}
}
3,配置完成后,启动keepalived服务,查看vip使用情况。
三,宝塔面板配置tcp负载均衡
1,修改nginx的主配置文件内容。
需要打开配置文件/www/server/nginx/conf/nginx.conf,并添加以下内容。
主要是添加stream内容,再添加日志格式,tcp_format是日志名称。
再添加一个tcp负载均衡的配置文件加载目录。
具体如下:
stream {
log_format tcp_format '$remote_addr [$time_local] '
'$protocol $status $bytes_sent $bytes_received '
'$session_time "$upstream_addr" '
'"$upstream_bytes_sent" "$upstream_bytes_received" "$upstream_connect_time"';
# access_log /www/wwwlogs/tcp_access.log tcp_format ;
open_log_file_cache off;
#统一管理配置文件
include /www/server/panel/vhost/nginx/tcp/*.conf;
}
2,创建tcp负载均衡的日志文件目录。
mkdir -p /www/wwwlogs/load_balancing/tcp
3,创建tcp负载均衡的配置文件目录。
mkdir -p /www/server/panel/vhost/nginx/tcp
4,添加一个8001的tcp端口负载配置文件。
[root@node1 tcp]# cat tcp8001.conf
upstream tcp_8001 {
server 172.189.19.30:8341 weight=1 max_fails=2 fail_timeout=10;
server 172.189.19.30:8343 weight=1 max_fails=2 fail_timeout=10;
}
server {
listen 192.168.137.41:8001;
proxy_connect_timeout 8s;
proxy_timeout 86400s;
proxy_pass tcp_8001;
access_log /www/wwwlogs/load_balancing/tcp/8001.log tcp_format;
}
5,重启面板的nginx服务
/etc/init.d/nginx restart
四,测试tcp负载均衡效果
1,经检测tcp负载正常。
转载请标明出处【keepalived配置VIP+宝塔BT面板nginx配置tcp负载均衡高可用方案】。
《www.micoder.cc》
虚拟化云计算,系统运维,安全技术服务.
Tags: | [阅读全文...] |
最新评论