这篇博客实现功能:
有两台服务器都安装了gp(greenplum)或pg(postgreSQL)数据库,端口都为5432,现在要通过第一台服务器的15432端口访问到第二台的gp数据库。
通过安装nginx的stream模块和设置nginx的conf配置即可实现

1.首先确定自己服务器所安装的nginx版本,是否大于nginx1.9.xxx,在1.9版本后才支持stream模块实现ftp和ssh、tcp模块功能;

[root@node001 sbin]# ps -ef|grep nginx     //查看是否安装nginx
root      9035  8243  0 09:27 pts/3    00:00:00 grep --color=auto nginx
[root@node001 sbin]# ./nginx -v       //查看安装nginx版本
nginx version: nginx/1.10.3

附一篇安装nginx地址的博客:(或者自己百度下)
https://www.runoob.com/linux/nginx-install-setup.html
nginx官网地址:https://nginx.org/。
下载.tar.gz格式

2.确认自己安装好nginx后,再下载和当前版本一致的nginx包,我这安装的nginx1.10.3,下载的包是1.10.3,大于1.9.x版本

查看nginx是否带有其他模块内容安装:

[root@node001 sbin]# ./nginx -V
nginx version: nginx/1.10.3
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 
configure arguments: --with-stream

我这是安装完成stream后的显示,正常显示configure arguments:为空,或者不显示
异样情况参考这篇博客:
https://my.oschina.net/u/4163854/blog/3074707

3.解压下载的nginx-1.10.3.tar.gz包,并进入目录:

[root@node001 sbin]# cd /usr/local/nginx-1.10.3
[root@node001 nginx-1.10.3]# chmod u+x configure   //授予执行权

[root@node001 nginx-1.10.3]# ./configure --with-stream
[root@node001 nginx-1.10.3]# make            //编译
[root@node001 nginx-1.10.3]# make install       //安装

安装完成后:采用ls命令查看文件夹,进入/objs目录下,查看文件夹,有nginx文件
在这里插入图片描述
执行命令 ./nginx –V查看编译后的模块
在这里插入图片描述
查看到stream模块安装成功了

接下来进行方向代理的端口监听配置了:

[root@node001 objs]# cd /usr/local/nginx/conf

下面开始添加配置:
这里需要注意:stream 标签应该与http标签平行在同一层级目录,而不是上下级关系

//实现冲192.168.1.200的15432端口访问到192.168.1.201的5432端口,并连接成功gp数据库
stream {
    server {
        listen 15432;
        proxy_connect_timeout 1s;
        proxy_timeout 300s;
        proxy_pass 192.168.1.201:5432;
    }
}

层级关系:
在这里插入图片描述
启动nginx
在保证第二台服务器成功能连接到gp数据库的情况下,开始用第一台服务器连接第二台:
在这里插入图片描述
这样就能实现从200服务器的15432端口访问到201服务器的5432端口,连接成功gp数据库

亲,赞一个吧,程序猿的一份子

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐