先使用nginx来配置。nginx有些高的版本是有tcp 转发功能,低版本是没有。
安装nginx后,本人安装是nginx1.16版本 ./configure make && make install 全部默认
cd /usr/local/nginx/conf
vim nginx.conf 最未尾一行加入此名 ,表示将在此目录下的tcp.d下创建conf的文件,进行识别
include tcp.d/*.conf;
mkdir tcp.d 创建此目录
vim port.service.conf #新建此文件并打开
stream {
server {
listen 6006; #当前监听端口
proxy_connect_timeout 30s;
proxy_timeout 50s;
proxy_pass 22.105.247.184:6006; #此外为目标的ip和端口,可以根据需求调整
}
}
/usr/local/nginx/sbin/nginx -s stop #停止nginx
/usr/local/nginx/sbin/nginx #启动nginx
以上没有报错,就证明OK了
实际情况,如果业务复杂些,就使用haproxy
yum install -y haproxy
##忽略VIP
echo "net.ipv4.ip_nonlocal_bind = 1" >>/etc/sysctl.conf
sysctl -p
配置haproxy日志
vim /etc/rsyslog.d/haproxy.conf
local2.* /var/log/haproxy.log
systemctl restart rsyslog
配置haproxy转发
vim /etc/haproxy/haproxy.cfg
最后一行配置添加以下内容:
#---------------------------------------------------------------------------
frontend forword6006
mode tcp
bind *:6006
default_backend server6006
backend server6006
mode tcp
balance roundrobin
server server1 202.105.247.84:6012 maxconn 300000 #其中ip和端口为目的服务器的
server server2 202.105.247.84:6012 maxconn 300000
#---------------------------------------------------------------------------
以下是服务的重启以及状态查看
systemctl enable haproxy.service
systemctl restart haproxy.service
systemctl status haproxy.service