Centos 8 Nginx 四层负载均衡Rdeis及Mysql

2 篇文章 0 订阅
Nginx在1.9.0版本开始支持tcp模式的负载均衡,在1.9.13版本开始支持udp协议的负载,udp主要用于DNS的域名解析,其配置方式
和指令和http 代理类似,其基于ngx_stream_proxy_module模块实现tcp负载,另外基于模块ngx_stream_upstream_module实现后
端服务器分组转发、权重分配、状态监测、调度算法等高级功能。如果编译安装,需要指定 --with-stream 选项才能支持

ngx_stream_proxy_module模块官方文档:
https://nginx.org/en/docs/stream/ngx_stream_proxy_module.html
http://nginx.org/en/docs/stream/ngx_stream_upstream_module.html

模拟实验负载均衡实例 : Redis及MySQL
在这里插入图片描述
先修改后端两个服务器的主机名,方便测试

[root@centos8 ~]#hostnamectl set-hostname centos8.web1
[root@centos8 ~]#hostnamectl set-hostname centos8.web2

后端服务器安装 Redis和MySQL(redis和mysql装在了同一台机器上,懒得画图了)

安装两台redis服务器
[root@centos8 ~]# yum -y install redis mysql-server
[root@centos8 ~]# sed -i '/^bind /c bind 0.0.0.0' /etc/redis.conf  #进行修改redis的bind地址,默认是本地回环地址
[root@centos8 ~]# systemctl enable --now redis
[root@centos8 ~]# systemctl enable --now mysqld
[root@centos8 ~]#mysql
mysql > create user bo@'10.0.0.%' identified by '123456';    #创建账户密码
mysql> FLUSH PRIVILEGES;      #刷新权限
mysql > exit
[root@centos8 ~]# ss -tnl        #进行端口查看是否成功

扩展知识:
远程登录测试,远程客户端也需要安装redis,不需要开启

[root@centos803 ~]# redis-cli -h 10.0.0.16

添加内容看的跟为直观 (info:可以看到详细信息)

10.0.0.16:6379> set class redis12

查看(class:编辑的名字)

10.0.0.16:6379> get class 

nginx 配置,配置前先进行安装nginx, #注意此处的stream与http模块平级

root@centos8 ~]# vim /apps/nginx/conf/nginx.conf

stream {
   upstream mysql {
       server 10.0.0.10:3306;
       server 10.0.0.16:3306;
 }
  upstream redis {
      server 10.0.0.10:6379;
      server 10.0.0.16:6379;
 }
   server { 
     listen 3306;
     proxy_pass mysql;
}
    server {
     listen 6379;
     proxy_pass redis;
}
} 

进行查询,默认轮询算法

[root@centosClient ~]# redis-cli -h 10.0.0.15 get class
(nil)
[root@centosClient ~]# redis-cli -h 10.0.0.15 get class
"redis12"

测试通过nginx连接MySQL,轮询

[root@centosClient ~]# mysql -utest -p123456 -h10.0.0.15 -e 'select @@hostname'

+--------------+
| @@hostname   |
+--------------+
| centos8.web1 |
+--------------+

+--------------+
| @@hostname   |
+--------------+
| centos8.web2 |
+--------------+

简单实现了一下四层负载,如果想要了解更多,可以查看官方文档

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值