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();
相关推荐
香菜农民17 小时前
域名证书管理
运维·docker
剑神一笑17 小时前
Linux awk 命令:文本处理的瑞士军刀
linux·运维·chrome
2301_7815714218 小时前
JavaScript中Object-getOwnPropertySymbols获取方法
jvm·数据库·python
江湖有缘18 小时前
从零开始:基于Docker Compose的Kener监控面板部署全记录
运维·docker·容器
躺不平的理查德18 小时前
Shell逻辑判断备忘录
运维·服务器·git
月光技术杂谈18 小时前
国内环境下安装 docker-ce 的完整步骤
运维·docker·容器
jump_jump19 小时前
Drizzle 凭什么贴着 Go 跑——从设计哲学到热路径源码
数据库·性能优化·orm
jay神19 小时前
基于SpringBoot的宠物生命周期信息管理系统
java·数据库·spring boot·后端·web开发·宠物·管理系统
Leida_wanglin19 小时前
工作经验-问题总结
运维
其实防守也摸鱼19 小时前
软件安全与漏洞--软件安全设计
运维·网络·安全·网络安全·密码学·需求分析·软件安全