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();
相关推荐
一个天蝎座 白勺 程序猿2 小时前
Oracle替换工程实践深度解析:从迁移挑战到金仓“零改造”实践
数据库·学习·oracle·kingbasees
Sahas10192 小时前
安装 Redis 为系统服务
数据库·redis·缓存
一蓑烟雨*任平生2 小时前
【无标题】
数据库
霖霖总总2 小时前
[Redis小技巧27]Redis Cluster 全景指南:Gossip 协议、故障转移与生产避坑实战
数据库·redis·缓存
haoly19892 小时前
数据库原理-外部归并排序-习题1
数据库·外部排序
indexsunny2 小时前
互联网大厂Java面试:从Spring Boot到微服务的逐步挑战
java·数据库·spring boot·redis·微服务·面试·电商
sqyno1sky2 小时前
游戏与图形界面(GUI)
jvm·数据库·python
XMAIPC_Robot2 小时前
基于RK3588 ARM+FPGA的电火花数控硬件平台总体设计(二)
运维·arm开发·人工智能·fpga开发·边缘计算
Are_You_Okkk_2 小时前
研发运维一体化:开源知识库落地案例与价值探析
运维·人工智能·架构·开源