使用Nginx转发PostgreSQL数据

我在Ubuntu使用的是nginx/1.18.0,默认已经启用了ngx_stream_core_module。如果没有安装可以使用
sudo apt-get install libnginx-mod-stream
安装。

修改之前先备份/etc/nginx/nginx.conf文件,然后在文件尾部,添加
stream {
include /etc/nginx/tcp-enabled/*;
}

新建/etc/nginx/tcp-enabled目录,把stream转发配置保存在tcp-enabled目录里。

接下来就跟添加http转发一样了:upstream pg {
server 192.168.1.23:5432;
}

server {
listen 5532 so_keepalive=on;
proxy_connect_timeout 100s;
proxy_timeout 300s;
proxy_pass pg;
}

完了保存。
sudo nginx -t
sudo nginx -s reload
没报错就说明配置正常。

如果Nginx机器的IP是192.168.1.30,添加转发之后,就可以使用192.168.1.30:5532来连接PostgreSQL数据库