nginx实现TCP反向代理及负载均衡

由于系统需求需要每秒接收大量数据,单体程序受到很大局限,集群目前能力达不到,故而选用堆服务的方式来保障服务正常运行。
本文记录下nginx使用过程,由于使用的为云服务器为windowsServer所以首先下载windows版本nginx
https://github.com/houxuyang666/nginx.git 我已经上传至git 拉下来直接使用
nginx常用命令
cmd打开nginx文件夹后

运行 nginx.exe
停止 nginx.exe -s stop
重启 nginx.exe -s reload
版本 nginx.exe -v

运行后访问localhost:80 出现该页面证明nginx启动成功。
在这里插入图片描述
默认端口为80 一般情况我们会重新更改默认端口
以下是修改端口的路径和位置
在这里插入图片描述
打开后在该位置修改端口即可。主要防止端口重复引起启动失败
在这里插入图片描述
启动成功后可以在该位置查看日志
在这里插入图片描述
其中nginx.pid文件与重启nginx有关,所以不要轻易删除,当然关闭后再启动也还会生成,只是对重启有影响
接下来要配置Tcp代理及负载均衡
首先打开nginx配置文件 nginx.conf
添加下列代码

stream{
    upstream tcp{
		server 127.0.0.1:8611;
        server 127.0.0.1:7612;
    }    
    #这里是用户访问的入口端口 当监听到该端口被访问后即可调用 上面声明的tcp方法,
    #tcp方法被upstream声明即为负载均衡,默认为轮询模式,
    #当配置属性weight=1;weight权重 代表分到资源的比例,
    #如:
    #upstream tcp{
	#	server 127.0.0.1:8611 weight=10;
    #   server 127.0.0.1:7612 weight=2;
    #}  
    #可以根据自身服务器情况进行分配权重 当然还会有其他属性如配置主服务器等等,可以自行搜索
    server{
        listen 7611;#监听本机端口号IPV4
        proxy_pass tcp;
    }
}

以stream代码体为开始 大括号为结束。注意要与文件中http代码体为同级
之后每次访问端口7611 则会被均匀的分配至8611和7612端口的服务上。当然多服务器部署的时候记得每个服务器开端口。
我的配置主要用于接收tcp数据所以不需要session,如果需要就得进一步配置。以免出现第一次请求session在8611上保存,第二次请求在7612上,那么就获取不到session的问题

如有错误,请在评论中指出。
记录下工作中遇到的问题和解决方法,如果对正在看文章您有帮助,请点个赞。谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值