nginx 负载均衡的配置
1.准备工作。
准备三台虚拟机
nginx负载均衡器 192.168.0.204
两台nginx主机 192.168.0202/192.168.0.203
1.1 关闭防火墙
所有主机上关闭防火墙,仅部署测试用,具体配置请自行参考
- systemctl stop firewalld
- systemctl disable firewalld
1.2 所有主机安装nginx
- yum install epel-release -y
- yum install nginx -y
2.Nginx负载均衡的集中方式介绍
2.1 轮询
轮询方式是Nginx负载默认的方式,顾名思义,所有请求都按照时间顺序分配到不同的服务上,如果服务Down掉,可以自动剔除,如下配置后轮训10001服务和10002服务。
- upstream cluster {
- server 192.168.0.202;
- server 192.168.0.203;
- }
2.2 权重
指定每个服务的权重比例,weight和访问比率成正比,通常用于后端服务机器性能不统一,将性能好的分配权重高来发挥服务器最大性能,如下配置后10002服务的访问比率会是10001服务的二倍。
- upstream cluster {
- server 192.168.0.202 weight=1;
- server 192.168.0.203 weight=2;
- }
2.3 iphash
每个请求都根据访问ip的hash结果分配,经过这样的处理,每个访客固定访问一个后端服务,如下配置(ip_hash可以和weight配合使用)。
- upstream cluster {
- ip_hash;
- server 192.168.0.202 weight=1;
- server 192.168.0.203 weight=2;
- }
2.4 最少连接
将请求分配到连接数最少的服务上。
- upstream cluster {
- least_conn;
- server 192.168.0.202 weight=1;
- server 192.168.0.203 weight=2;
- }
2.5 fair
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
- upstream cluster {
- server 192.168.0.202 weight=1;
- server 192.168.0.203 weight=2;
- fair;
- }
3.Nginx配置
以轮训为例,如下是nginx.conf完整代码。
- worker_processes 1;
- events {
- worker_connections 1024;
- }
- http {
- upstream cluster {
- server 192.168.0.202;
- server 192.168.0.203;
- }
-
- server {
- listen 10000;
- server_name localhost;
-
- location / {
- proxy_pass http://cluster;
- proxy_redirect default;
- }
- }
- }
4.测试
重启nginx,第一次访问192.168.0.204如图所示,
在次访问如图所示
如果要修改负载均衡算法修改对应upstream模块即可。
版权声明:
作者:超级管理员
链接:
https://blog.apecloud.ltd/article/detail.html?id=74
来源:猿码云个人技术站
文章版权归作者所有,未经允许请勿转载。


共有0条评论