1. 首页
  2. 专题栏目
  3. Nginx专题
  4. Nginx 代理 MySQL 实现通过域名连接数据库

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

  • 发布于 2024-08-07
  • 0 次阅读

本文由 简悦 SimpRead 转码, 原文地址 blog.csdn.net

文章目录

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

Nginx 模块介绍

  1. HTTP 模块: HTTP 模块提供了处理 HTTP 请求的功能,包括反向代理、负载均衡、缓存、HTTP 代理等。
  • 例如:proxy 模块用于反向代理和负载均衡,fastcgi 模块用于处理 FastCGI 请求。
  1. Stream 模块: Stream 模块用于处理 TCP 和 UDP 流量,允许 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