51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

nginx四层负载均衡(类跳板机)

四层负载均衡是基于传输层协议包来封装的(如:TCP/IP)

四层负载均衡应用场景:

1、四层+七层来做负载均衡,四层可以保证七层的负载均衡的高可用性;如:nginx就无法保证自己的服务高可用,需要依赖LVS或者keepalive。

存在转发端口限制的问题

2、如:tcp协议的负载均衡,有些请求是TCP协议的(mysql、ssh),或者说这些请求只需要使用四层进行端口的转发就可以了,所以使用四层负载均衡。

|----------| | 四层负载均衡总结 |

1、四层负载均衡仅能转发TCP/IP协议、UDP协议、通常用来转发端口,如:tcp/22、udp/53;
2、四层负载均衡可以用来解决七层负载均衡端口限制问题;(七层负载均衡最大使用65535个端口号)
3、四层负载均衡可以解决七层负载均衡高可用问题;(多台后端七层负载均衡能同事的使用)
4、四层的转发效率比七层的高得多,但仅支持tcp/ip协议,不支持http和https协议;
5、通常大并发场景通常会选择使用在七层负载前面增加四层负载均衡。

|-----------------| | Nginx四层负载均衡场景实践 |

Nginx如何配置四层负载均衡

1、通过访问负载均衡的5555端口,实际是后端的web01的22端口在提供服务;

2、通过访问负载均衡的6666端口,实际是后端的mysql的3306端口在提供服务。

先配置两台lb负载均衡

步骤:

快速扩展LB02: 10.0.0.6
1.安装Nginx
[root@lb02 ~]#scp 172.16.1.7:/etc/yum.repos.d/nginx.repo /etc/yum.repos.d/
[root@lb02 ~]#yum -y install nginx
2.同步LB01所有配置
[root@lb02 ~]# rsync -avz --delete 172.16.1.5:/etc/nginx/ /etc/nginx/

LB: 10.0.0.4 (新建了一个 testLB)
1.配置Nginx仓库
[root@lb ~]# scp 172.16.1.7:/etc/yum.repos.d/nginx.repo /etc/yum.repos.d/
2.安装Nginx
[root@lb ~]# yum -y install nginx
3.配置Nginx四层负载
删除七层配置:
[root@lb nginx]# rm -rf /etc/nginx/conf.d/default.conf

cat /etc/nginx/nginx.conf
........
events {
worker_connections 1024;
}

stream {

include conf.c/*.conf;

}

http {
......

cd /etc/nginx
mkdir conf.c

[root@lb conf.c]# cat wordpress.conf
upstream hehe {
server 10.0.0.5:80;
server 10.0.0.6:80;
}

server {
listen 80;
proxy_pass hehe;
}

配置本机 host

访问: wordpress.baimei.com 正常访问

测试案例2: 跳板机 测试XSHELL

[root@lb conf.c]# cat web01.conf
upstream web01 {
server 172.16.1.7:22;
}

server {
listen 5555;
proxy_pass web01;
}

我们用 xshell 测试, 10.0.0.4 , 5555

总结: 如何配置一个 TCP 转发(类似跳板机)

配置环境:

单独 创建一个 conf.c 的文件夹

然后在 主配配置文件 nginx.conf 中 引入:

stream {
include conf.c/*.conf;
}

然后在 conf.c 文件夹中 建立配置文件:

赞(6)
未经允许不得转载:工具盒子 » nginx四层负载均衡(类跳板机)