nginx详解(负载均衡,轮询,加权轮询)

nginx简介

Nginx 是一个很强大的高性能Web和反向代理服务,它具有很多非常优越的特性,在连接高并发的情况下,能够支持高达 50,000 个并发连接数的响应。

nginx作用

可用于:http代理,反向代理

nginx正向代理示意图

 

nginx反向代理示意图

nginx负载均衡:负载均衡有两种。内置策略和扩展策略。内置策略为轮询,加权轮询,iphash,扩展策略就自定义了

轮询示意图

轮询:比如有三台服务器,通过nginx代理同时有3个请求,那么代理服务器会将3条请求分别分配到第一、第二、第三服务器上,

如果有9条请求的话,那么第一台服务器就处理第一条、第四条、第七条请求,第二台服务器就处理第二条、第五条、第八条请求

第三台服务器就处理第三条、第六条、第九条请求。意思就是请求会在三台服务器上循环请求

 

加权轮询示意图

加权轮询:比如有三台服务器,第一台权重为1,第二台权重为2,第三台权重为3,那么请求就会按照权重分配处理请求数量

比如,有9条请求,第一台服务器就处理第一条和第三条请求。第二台请求就是处理第二条、第四条、第七条请求。

第三台就处理第五条、第六条、第八条、第九条请求

 

iphas示意图

iphas:通过固定IP请求分配到固定IP服务器

动静分离示意图

动静分离

nginx常用命令

Linux 命令:需要在你下载的nginx目录sbin下目录执行

./nginx #启动服务
./nginx -s stop #强制停止服务
./nginx -s quit #安全退出服务
./nginx -s reload #重新加载配置文件
ps aux|grep nginx  #查看nginx进程 

windows命令:需要在通过CMD你下载的nginx目录下执行

nginx.exe #启动服务,也可直接直接点击nginx目录下nginx运行
nginx -s stop #强制停止服务
nginx -s quit #安全退出服务
nginx -s reload #重新加载配置文件

nginx轮询方法

比如我有三台服务器,为了减轻服务器压力,安装分别在其中两台服务器安装了一样的服务,服务IP为192.168.3.250:8080和192.168.3.251:8080,

还有一台服务器我们作为nginx服务器,安装nginx,服务器IP192.168.3.252

正常我们需要访问服务,就需要分别访问92.168.3.250:8080和192.168.3.251:8080,

通过nginx代理地址,我们就可以自动分配访问服务地址

通过修改nginx的配置文件,nginx.conf文件

操作如图:

修改完配置文件文件后,启动nginx,输入我们nginx代理地址,nginx端口默认为:80,然后你发现如果有两条请求时,一台请求分配到了92.168.3.250:8080一条分配到了192.168.3.251:8080

加权轮询方法

加权轮询只需要修改service中weight值就可以了

举例:

server 192.168.3.250:8080 weight=2;     
server 192.168.3.251:8080 weight=1;

说明:有两条请求时就会分配到192.168.3.250:8080上处理,有三条请求时,有两条会别分配到192.168.3.250:8080上处理,有一条分配到192.168.3.251:8080上处理

 

posted @ 2022-07-28 17:25  听见你的声音、潇  阅读(2502)  评论(0编辑  收藏  举报