由于系统需求需要每秒接收大量数据,单体程序受到很大局限,集群目前能力达不到,故而选用堆服务的方式来保障服务正常运行。
本文记录下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的问题
如有错误,请在评论中指出。
记录下工作中遇到的问题和解决方法,如果对正在看文章您有帮助,请点个赞。谢谢!