这篇博客实现功能:
有两台服务器都安装了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数据库
亲,赞一个吧,程序猿的一份子