
文章目录环境症状问题原因解决方案环境系统平台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服务器IP192.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-port5877/tcp firewall-cmd --add-port5877/tcp3.连接测试psql -h 192.168.2.5 -p 5877 -U sysdba highgo# SELECT inet_server_addr();