尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

nginx代理转发数据库连接

nginx代理转发数据库连接
📅 发布时间:2026/6/22 21:20:26
# 安装 nc(netcat)
yum install -y nc# 验证安装成功
nc --version  # 输出 nc 版本即说明安装成功nc -zv 127.0.0.1 8086
Ncat: Version 7.92 ( https://nmap.org/ncat )
Ncat: Connected to 127.0.0.1:8086.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.
代表连接成功步骤 1:检查 Nginx 是否支持 TCP 代理
执行以下命令,查看 Nginx 编译模块:
bash
运行
nginx -V 2>&1 | grep --color=auto stream
如果输出包含 --with-stream,说明已支持;若没有,需重新编译 Nginx(附简易编译步骤)。(可选)重新编译 Nginx 增加 stream 模块
bash
运行
# 1. 下载对应版本的 Nginx 源码(以 1.24.0 为例)
wget http://nginx.org/download/nginx-1.24.0.tar.gz
tar -zxvf nginx-1.24.0.tar.gz
cd nginx-1.24.0# 2. 查看原有编译参数(复制下来)
nginx -V 2>&1 | grep configure | sed 's/--prefix=.*nginx/--prefix=\/usr\/local\/nginx/'# 3. 重新编译(追加 --with-stream,替换原有参数)
./configure 原有编译参数 --with-stream
make && make install# 4. 验证
nginx -V 2>&1 | grep stream步骤 2:配置 Nginx TCP 代理
Nginx 的 TCP 代理配置在 stream 块中(与 http 块同级),而非 http 内部。
1. 编辑 Nginx 主配置文件
默认配置文件路径:/usr/local/nginx/conf/nginx.conf(或 /etc/nginx/nginx.conf)
bash
运行
vim /usr/local/nginx/conf/nginx.conf
2. 添加 stream 代理配置
在 http 块外部添加 stream 块,完整示例如下:
nginx
# 全局配置
user  root;
worker_processes  auto;
error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;# TCP 代理核心配置(与 http 同级)
stream {# 连接超时配置(可选,根据需要调整)proxy_connect_timeout 10s;proxy_timeout 300s;  # 数据库连接超时(建议设大些)proxy_buffer_size 4k;# 定义后端数据库服务器组(单节点)upstream kingbase_db {server 1.1.1.1:54321;  # Kingbase 数据库地址+端口}# 监听 8086 端口,代理到数据库server {listen 8086;  # Nginx 监听的端口(本地 DBeaver 连接此端口)proxy_pass kingbase_db;  # 转发到数据库组}
}# 原有 http 配置(无需修改)
http {include       mime.types;default_type  application/octet-stream;log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  /var/log/nginx/access.log  main;sendfile        on;keepalive_timeout  65;server {listen       80;server_name  localhost;location / {root   html;index  index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}
}
步骤 3:验证配置并重启 Nginx
bash
运行
# 1. 检查配置语法是否正确
nginx -t# 2. 重启 Nginx(生效配置)
nginx -s reload# (若重启失败,用强制重启)
systemctl restart nginx  # 或 /usr/local/nginx/sbin/nginx -s stop && /usr/local/nginx/sbin/nginx或配置
stream {
#配置这一条include /mnt/www/server/panel/vhost/nginx/tcp/*.conf;
}步骤 1:创建 TCP 代理子配置文件
你的 stream 块中包含了 /mnt/www/server/panel/vhost/nginx/tcp/*.conf,因此需要在该目录下新建数据库代理配置文件:
bash
运行
# 1. 确认目录存在(不存在则创建)
mkdir -p /mnt/www/server/panel/vhost/nginx/tcp/# 2. 新建 Kingbase 代理配置文件(命名建议:kingbase_8086.conf)
vim /mnt/www/server/panel/vhost/nginx/tcp/kingbase_8086.conf
步骤 2:写入代理配置内容
在新建的 kingbase_8086.conf 中添加以下内容(适配你已有的 stream 日志格式,无需重复定义):
nginx
# Kingbase V8 数据库 TCP 代理(8086 端口)
upstream kingbase_db {server 1.1.1.1:54321;  # 目标数据库 IP+端口
}server {listen 8086;                # Nginx 监听的代理端口proxy_connect_timeout 10s;  # 连接数据库超时时间proxy_timeout 300s;         # 数据库长连接超时(避免被断开)proxy_buffer_size 4k;       # 缓冲区大小proxy_pass kingbase_db;     # 转发到数据库节点
}

 

相关新闻

  • 律所小程序开发公司,法律行业合规适配+专业功能开发服务商推荐,律所小程序开发公司/教育小程序开发公司/课程小程序开发公司/硬件小程序开发公司 - 品牌2026
  • DeepSeek+豆包+Kimi降AI率指令合集!全网最全免费降ai教程+省心方案 - 殷念写论文
  • 2025年保温装饰一体板行业标杆推荐:浙江欣阳嘉茂,外墙保温装饰板、金属保温装饰板、外墙保温装饰一体板、金属保温装饰一体板、薄陶瓷保温装饰一体板、绿色节能筑就品质建筑 - 海棠依旧大

最新新闻

  • 电动车托运锂电池全流程与合规指南 - 快递物流资讯
  • DVWA中级文件包含漏洞:九种绕过方法与实战渗透指南
  • 谱图理论在低轨星座星间链路拓扑优化中的应用与实践
  • 功能感知机器人数据生成:从形状对应到仿真验证的完整指南
  • 北京离婚调解律师联系方式推荐 资深家事律师处理婚姻财产纠纷 - 外贸老黄
  • 2026年水箱厂家推荐榜单:不锈钢消防/保温/膨胀/承压水箱,方形与圆形水箱品牌实力深度解析与选购指南 - 品牌发掘

日新闻

  • Arduino-ESP32项目深度解析:解锁隐藏芯片支持与架构演进
  • 2026年 系统窗厂家/品牌推荐榜单:隔音系统窗+高端系统门窗的核心优势与选购指南 - 品牌发掘
  • NVBench:首个双语非言语发声语音合成评测基准详解与实践

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号