环境说明
1和2互通,2和3互通,1和3不通,想要在1上访问3上的msyql服务。实现步骤如下:
一、安装nginx
1.1 下载nginx
下载地址
https://nginx.org/download/nginx-1.26.2.zip
1.2 将下载的安装包上传到192.168.221.134运维跳板机,并解压
1.3 nginx常用操作
1.3.1 启动nginx
# 进入nginx解压目录后执行
start nginx
查看nginx是否启动成功:
tasklist /fi "imagename eq nginx.exe"
启动失败:
启动成功:
1.3.2 关闭nginx
如果使用cmd命令窗口启动nginx,关闭cmd窗口是不能结束nginx进程的,可以使用以下两种方法关闭nginx
1、输入nginx命令
# 快速停止nginx
nginx -s stop # 或 # 完整有序地停止nginx
nginx -s quit
2、使用taskkill
taskkill /f /t /im nginx.exe
二、配置nginx
修改nginx.conf
,设置内容如下:
worker_processes 1; events { worker_connections 1024;
} stream { upstream zzlb_test_mysql { hash $remote_addr consistent; server 172.27.4.9:4306; # MySQL数据库集群(可选配置) #server 172.27.4.8:3306; } server { listen 3306; proxy_connect_timeout 3s; proxy_timeout 3s; proxy_pass zzlb_test_mysql; } }
三、验证测试
启动运维跳板机(192.168.221.134)上的nginx服务
start nginx
在(172.16.1.48)开发环境使用MySQL客户端连接代理后的MySQL服务,如下所示验证通过。
四、好处
1.隐藏真实的端口,提升安全性(当然可以通过修改端口的方式~)
2.内网穿透,因为有些数据库是只能特定网络环境才能访问的,而此时我们通过内网穿透使用外网地址访问内网的数据库。
3.实现数据库高可用、负载均衡集群(前提是MySQL数据库本身实现了集群或主从复制,一般用于负载均衡的集群都是从机,主机只写,所以是不会参与负载均衡的,当然了,还有多主多从架构,多主多从架构,2个主机也可以实现负载均衡写入。但是集群架构的复杂度会很高!)
个人观点,仅供参考
原创 jszhao