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上处理