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();
相关推荐
xiaokangzhe7 小时前
NoSQL之Redis配置与优化
数据库
weixin_408717777 小时前
CSS如何优化大型项目样式_使用SASS预处理器提升开发效率
jvm·数据库·python
2301_813599557 小时前
CSS如何解决CSS引入后的样式覆盖_理解优先级原则避免重写
jvm·数据库·python
lkx097887 小时前
MySQL
数据库·mysql
betazhou7 小时前
TDSQL-PG创建测试表并定时插入数据模拟生产
前端·javascript·数据库·tdsql·tdsql-pg
kiku18187 小时前
NoSQL之Redis配置与优化
数据库·redis·非关系型数据库
喵了几个咪7 小时前
MySQL 运维实战:ibd 文件批量转换为 SQL 完整指南(基于 ibd2sql)
运维·sql·mysql
跃渊Yuey7 小时前
【MySQL】MySQL库的操作
数据库·mysql
weixin_408717777 小时前
PHP8.1新特性对AI开发帮助_JIT编译优势【解答】
jvm·数据库·python
瀚高PG实验室7 小时前
瀚高数据库安全版4.5.10及其以上版本使用pg_cron定时任务
服务器·数据库·瀚高数据库