Nginx 代理 MySQL 实现通过域名连接数据库

avatar
作者
猴君
阅读量:0

文章目录

Nginx、MySQL 安装这里不做介绍。域名默认已经解析到服务器公网IP。

Nginx 模块介绍

  1. HTTP 模块: HTTP模块提供了处理HTTP请求的功能,包括反向代理、负载均衡、缓存、HTTP代理等。
  • 例如:proxy模块用于反向代理和负载均衡,fastcgi模块用于处理FastCGI请求。
  1. Stream 模块: Stream模块用于处理TCPUDP流量,允许Nginx作为代理服务器处理非HTTP流量。
  • 例如:stream模块用于配置TCP代理和负载均衡。

Stream 模块配置

# 修改 nginx 主配置文件 vim /etc/nginx/nginx.conf 
stream {    include /etc/nginx/conf.d/stream/*.conf; } 

在这里插入图片描述

cd /etc/nginx/conf.d/ mkdir stream && cd stream # 创建 nginx stream 配置 vim mysql_3320.conf 
upstream mysql3320 {   server 192.168.0.164:3306; }  server {   listen 3320; # 如果监听3306,远程登录的时不用加-p参数   proxy_connect_timeout 500s;   proxy_timeout 500s;   proxy_pass mysql3320; } 
# 重新加载配置 nginx -s reload 

MySQL 配置文件

# IP连接限制放开 bind_address=0.0.0.0 

远程连接 MySQL

mysql -h <域名> -P 3320 -u root -p 

在这里插入图片描述

DataGrip 连接 MySQL

在这里插入图片描述

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!