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();
相关推荐
于平安几秒前
MySQL-变量,流程控制与游标
数据库·mysql
我滴老baby9 分钟前
检索的上限,在切块时就定了:一次〈民法典〉实测,看懂 ChatDOC 的“上下文检索”
数据库·全文检索·文档处理
Databend13 分钟前
Jev 爆火之后,我们把它集成进了数据湖仓
大数据·数据库·agent
数字新视界20 分钟前
数据中心基础设施管理系统的智能监测与运维整合剖析
数据库·物联网·数据中心·数据中心基础设施管理·dcim管理系统
不吃香菜kkk、20 分钟前
CI/CD(GitOps)学习与部署手册
运维·云原生·容器·kubernetes·云计算·jenkins·argocd
于樱花森上飞舞41 分钟前
【Redis】哨兵详解
java·开发语言·数据库·redis
pt10431 小时前
面向AI的Cisco UCS X-Series设计-2:Cisco UCS AI规格选型
运维·人工智能
元岳数字人小元1 小时前
无惧网络受限:数字人私有化部署打造离线全域服务能力
运维·人工智能·开源·人机交互·交互
李白客1 小时前
向量数据库怎么选:RAG 项目最该比较的 8 个维度(深度拆解)
数据库·aigc
PHP实战开发录1 小时前
Nginx上传大文件为什么报413
nginx·php·开发