nginx 集群部署

单台服务器受限于硬件资源,其性能是有上限的,当单台服务器不能满足应用场景的并发需求量时,就需要考虑部署多个服务器共同处理客户端的并发请求,但是客户端怎么知道去连接具体哪台服务器呢?

此时就需要一台负载均衡器,通过预设的负载算法,指导客户端连接服务器。
负载均衡器有基于客户端的负载均衡和服务器的负载均衡。
普通的基于哈希的负载算法,并不能满足负载均衡所要求的单调性和平衡性,但一致性哈希算法非常好的保持了这两种特性,所以经常用在需要设计负载算法的应用场景当中。

nginx配置tcp负载均衡在服务器快速集群环境搭建中,都迫切需要一个能拿来即用的负载均衡器,nginx在1.9版本之前,只支持http协议web服务器的负载均衡,从1.9版本开始以后,nginx开始支持tcp的长连接负载均衡,但是nginx默认并没有编译tcp负载均衡模块,编写它时,需要加入–with-stream参数来激活这个模块。

nginx编译加入–with-stream参数激活tcp负载均衡模块nginx编译安装需要先安装pcre、openssl、zlib等库,也可以直接编译执行下面的configure命令,根据错误提示信息,安装相应缺少的库。
下面的make命令会向系统路径拷贝文件,需要在root用户下执行
tony@tony-virtual-machine:~/package/nginx-1.12.2# ./configure --with-stream
tony@tony-virtual-machine:~/package/nginx-1.12.2# make && make install
编译完成后,默认安装在了/usr/local/nginx目录。
tony@tony-virtual-machine:~/package/nginx-1.12.2$ cd /usr/local/nginx/
tony@tony-virtual-machine:/usr/local/nginx$ ls
conf html logs sbin
可执行文件在sbin目录里面,配置文件在conf目录里面。

nginx -s reload 重新加载配置文件启动
nginx -s stop 停止nginx服务

nginx配置tcp负载均衡
主要在conf目录里面配置nginx.conf文件,配置如下:
配置完成后,./nginx -s reload平滑重启。

主要在conf目录里面配置nginx.conf文件,配置如下

在这里插入图片描述

hash $remote_addr consistent:基于hash的负载均衡,需要单独安装插件

proxy_timeout : 连接N秒后断开
proxy_connect_timeout:连接超过N秒就断开

配置完成后,./nginx -s reload平滑重启。

猜你喜欢

转载自blog.csdn.net/juggte/article/details/126762851