nginx四层负载

nginx四层负载

负载均衡的作用

	在OSI七层模型中,四层是传输层,传输层使用的是端口到端口的通信方法,四层负载均衡就是在传输层做端口转发(端口映射)

四层负载应用场景

1.四层+七层做负载均衡,四层均衡可以保证七层的负载均衡的高可用性
2.tcp协议的负载均衡,有些请求是TCP协议的,或者说这些请求只需要使用四层进行端口的转发,所以使用四层负载均衡

负载均衡软件

nginx 
	四层负载(nginx 1.9版本以后有stream模块,才可以做四层负载均衡)
		stream
	七层负载
		upstream
LVS
	四层负载
HAproxy
	四层负载
	七层负载

四层负载均衡配置

主机名 WanIP LanIP 角色 安装应用
lb01 10.0.0.5 172.16.1.5 七层负载 nginx
lb02 10.0.0.6 172.16.1.6 四层负载 nginx
web01 10.0.0.7 172.16.1.7 web网站 nginx、php
web02 10.0.0.8 172.16.1.8 web网站 nginx、php
db01 10.0.0.51 172.16.1.51 数据库 mariadb

部署四层负载均衡(lb02)

1.添加nginx官方源
[root@lb02 ~]# cat /etc/yum.repos.d/nginx.repo 
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
2.安装nginx
yum install -y nginx
3.配置四层负载均衡
# 在主配置文件http层外添加
include /etc/nginx/stream/ji.conf;
# 创建该目录
mkdir /etc/nginx/stream
# 编写配置文件
stream {
        upstream backend {
                server 172.16.1.5:80;
        }
        server {
                listen 90;
                proxy_pass backend;
        }

}
4.启动nginx
systemctl start nginx
5.浏览器访问10.0.0.6的90端口

使用stream做端口转发

实现22端口转发

1.编写配置文件实现端口映射web02的22端口
stream {
        upstream web02_ssh {
                server 172.16.1.8:22;
        }
        server{
                listen 888;
                proxy_pass web02_ssh;
        }
}
2.重启nginx
systemctl reload nginx
3.根据配置文件使用lb02的ip和端口登录web02服务器

实现数据库的3306转发

1.编写配置文件
stream {
  
       upstream db01_mariadb {
                server 172.16.1.51:3306;
        }
        server {
                listen 3333;
                proxy_pass db01_mariadb;
        }
}
2.下载mysql客户端测试连接数据库
[root@web01 ~]# yum install -y mariadb
3.通过端口映射进入数据库
mysql -uwt -p123 -h10.0.0.6 -P3333

posted on   jilei  阅读(165)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示