首页 > 数据库 >【Nginx应用】Windows下使用Nginx反向代理访问MySQL数据库

【Nginx应用】Windows下使用Nginx反向代理访问MySQL数据库

时间:2024-12-24 18:31:01浏览次数:7  
标签:负载 nginx Windows 数据库 Nginx 集群 MySQL

环境说明

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

标签:负载,nginx,Windows,数据库,Nginx,集群,MySQL
From: https://www.cnblogs.com/o-O-oO/p/18628471

相关文章

  • FTP(windows版)
    一、windowsserver搭建FTP准备工作手动搭建FTP站点,ECS实例必须满足以下条件:实例已分配公网IP地址或绑定弹性公网IP(EIP)。具体操作,请参见​绑定EIP​。操作系统:WindowsServer2008及以上系统。系统自建即可。步骤一:添加IIS以及FTP服务角色在创建FTP站点前,需确保实例内已......
  • mysql把行转成列
    原始数据:codenameREPORT_NAMEamount1A2023销量1001A2022销量2001A2021销量4001B2023销量3001B2020销量100输出数据:codename2023销量2022销量2021销量2020销量1A10020040001B30000100SQL:SELECTc......
  • mysql按某字段值排序并取前n行
    原始数据:codenameyearamount1a20191001a20202001a20211901a20221802b20181902b20192002b2020230输出数据:codenameyearamount1a20211901a20221802b20192002b2020230SQL:selectcode......
  • Nginx 相关配置
    1、文件大小配置在Nginx中,可以使用client_max_body_size指令来限制请求体的大小,也就是限制文件的上传大小。例如,如果你想要限制文件大小为10MB,你可以在Nginx配置文件中的http、server或者location块中添加以下配置:client_max_body_size10M;这将会为所有的请求设置最大请求体......
  • mysql把某字段多行值拼接成一行
    原始数据:codenamez_date1aaa202412201aaa202412211aaa202412222bbb202412192bbb20241220输出结果:codenamez_date1aaa20241220,20241221,202412222bbb20241219,20241220SQL:selectcode,name,count(n),GROUP_CONCAT(......
  • MySQl数据库数据的时间比当前时间少了8小时处理
    在mysql中如何设置时间在MySQL中设置时间主要涉及到两个方面:一是设置数据库服务器的系统时间,二是设置表中的时间字段。一、设置数据库服务器的系统时间MySQL数据库服务器的系统时间通常与操作系统的时间同步。如果你需要调整MySQL服务器的时间,可以通过以下命令:代码语言:txt复......
  • 【云服务器教程】3分钟搞定MySQL远程访问配置
    本文将介绍如何在云服务器上快速配置MySQL远程访问权限,包含必要的安全设置。一、配置云服务器(以阿里云为例)登录阿里云控制台配置安全组:开放3306端口配置防火墙:#开放3306端口sudofirewall-cmd--permanent--add-port=3306/tcpsudofirewall-cmd--reload二、配置My......
  • Mysql5.7配置主从实际操作记录
    ......
  • 用pandas导入含嵌套字典的json文件至mysql数据库
    需要导入的文件格式如下,要把data-diff数组里的所有元素导进去,对于某些json文件还需要添加日期字段。{"rc":0, "rt":6, "data":{ "total":197, "diff":[ { "f1":1, "f2":295.5, "f3":{"f4":......
  • 解决系统提示windowsudk.shellcommon.dll找不到丢失问题
    在大部分情况下出现我们运行或安装软件,游戏出现提示丢失某些DLL文件或OCX文件的原因可能是原始安装包文件不完整造成,原因可能是某些系统防护软件将重要的DLL文件识别为可疑,阻止并放入了隔离单里,还有一些常见的DLL文件缺少是因为系统没有安装齐全的微软运行库,还有部分情况是因为......