nginx中配置数据库连接

文章目录

环境

系统平台:Linux x86-64 Red Hat Enterprise Linux 7

版本:4.5.8

症状

在Nginx的http模块中配置数据库,连接数据库失败。

问题原因

Nginx的配置主要分为几个部分,比如events、http、stream等。

http模块是用来处理HTTP和HTTPS流量的,也就是计算机网络OSI模型第七层应用层的协议。

而数据库协议比如HGDB的5866端口,属于第四层传输层的TCP协议。

Nginx处理第四层流量应该在stream模块里配置,而不是http模块。

解决方案

配置案例

1.修改Nginx配置文件

复制代码
# nginx服务器IP:192.168.2.5
# 数据库服务器IP:  192.168.2.4

vi /etc/nginx/nginx.conf
	#代理pgsql
	stream{
		upstream pgsql {
			server 192.168.2.4:5866;
		}
		server {
			listen 5877;
			proxy_connect_timeout 30s;
			proxy_timeout 30s;
			proxy_pass pgsql;
		}
	}

2.开放端口

复制代码
firewall-cmd --permanent --add-port=5877/tcp
firewall-cmd --add-port=5877/tcp

3.连接测试

复制代码
psql -h 192.168.2.5 -p 5877 -U sysdba
highgo=# SELECT inet_server_addr();
相关推荐
Mikko78 分钟前
Linux 重启后日志没了?进程被 OOM 杀了去哪看?logrotate 之后日志还往旧文件写?三台真机实测日志与性能排查
linux·运维·centos
蓝胖的四次元口袋12 分钟前
Redis知识梳理(1)
数据库·redis·缓存
夜雪一千17 分钟前
MySQL 数据加密实战:从传输、存储到字段级加密,分清场景不踩坑
数据库·mysql
光依旧17 分钟前
发版就掉请求?Spring Boot优雅停机的四步
运维·spring boot·nginx·高可用·优雅停机·mcp server
wefg11 小时前
【Redis】C++ 自定义客户端
数据库·redis·缓存
这个DBA有点耶1 小时前
为什么UPDATE比SELECT危险得多?锁范围等于扫描行数
数据库·架构·代码规范
yichengerp2 小时前
电子行业常用erp系统有哪些?推荐适合中小电子厂的易呈erp软件,操作简单,易落地
大数据·运维·人工智能·云计算·制造
天国梦2 小时前
国密门禁品牌怎么选?2026年最新3个避坑要点
运维·服务器·数据库·python
DB哥讲数据库2 小时前
【达梦数据库安装教程】超详细图文讲解-附达梦安装包
数据库·oracle
Hoxy.R2 小时前
【金仓数据库产品体验官】KingbaseES V9R2C16 坏块检测与修复完整测试流程
数据库