Web集群案例实战 -- Nginx 负载均衡

Nginx 负载均衡

  • 前言
  • 一、Nginx 负载均衡
  • 二、实战案例

前言

本环境是基于 Centos 7.8 系统构建Nginx学习环境
具体构建,请参考 Nginx-1.18.0 环境部署

Nginx 作为一款非常优秀的web服务器。不仅仅拥有web服务的功能,它还提供强大的反向代理、负载均衡,已经成为web集群,高可用性能的重要解决方案之一。接下来,我将详细介绍Nginx的负载均衡。


一、Nginx 负载均衡

设计架构
Web集群案例实战 -- Nginx 负载均衡_第1张图片

负载均衡的优势 ?

  • 把单台计算机无法承受的大规模并发访问或数据流量分担到多台节点设备上,分别进行处理, 减少用户等待响应的时间, 提升用户体验。
  • 单个重负载的运算分担到多台节点设备上做并行处理, 每个节点设备处理结束后, 将结果汇总, 返回给用户, 系统处理能力得到大幅度提高。
  • 7 x 24 小时的服务保证, 任意一个或多个有限后面节点设备宕机, 不能影响业务。在负载均衡集群中, 同组集群的所有计算机节点都应该提供相同的服务。 集群负载均衡器会截获所有对该服务的入站请求。 然后将这些请求尽可能地平均地分配在所有集群节点上

二、实战案例

环境准备

role host ip nginx-version OS
nginx upstream host node01 192.168.5.11 Nginx-1.18.0 Centos 7.8
nginx web server node02 192.168.5.12 Nginx-1.18.0 Centos 7.8
nginx web server node02 192.168.5.12 Nginx-1.18.0 Centos 7.8
nginx web server node02 192.168.5.12 Nginx-1.18.0 Centos 7.8
nginx client1 node03 192.168.5.13 ---- Centos 7.8
nginx client2 windows 7 Ultimate. 192.168.5.7 ---- windows 7 Ultimate.

node02 部署基于nginx的三个虚拟主机 的web服务

[root@node02 ~]# mkdir /usr/share/nginx/html/web_page_{1..3}
[root@node02 ~]# echo 'web 1 test page...' > /usr/share/nginx/html/web_page_1/index.html 
[root@node02 ~]# echo 'web 2 test page...' > /usr/share/nginx/html/web_page_2/index.html 
[root@node02 ~]# echo 'web 3 test page...' > /usr/share/nginx/html/web_page_3/index.html 

[root@node02 ~]# vim /etc/nginx/conf.d/vhost.conf 
    server {
     
        listen       81;
        server_name  web1.wan.org;

        location / {
     
            root   /usr/share/nginx/html/web_page_1;
            index  index.html index.htm;
        }
}

    server {
     
        listen       82;
        server_name  web2.wan.org;

        location / {
     
            root   /usr/share/nginx/html/web_page_2;
            index  index.html index.htm;
        }
}
    server {
     
        listen       83;
        server_name  web3.wan.org;

        location / {
     
            root   /usr/share/nginx/html/web_page_3;
            index  index.html index.htm;
        }
}
[root@node02 ~]# systemctl restart nginx

node01 配置nginx负载均衡

[root@node01 ~]# vim /etc/nginx/conf.d/vhost.conf
upstream www_web_server_pools {
     
     server web1.wan.org:81 weight=1;
     server web2.wan.org:82 weight=1;
     server web3.wan.org:83 weight=1;
     }

server {
     
    listen       192.168.5.11:80;
    server_name  www.wan.org;

    location / {
     
        proxy_pass http://www_web_server_pools;
    }
}
[root@node01 ~]# systemctl restart nginx

测试

添加hosts文件
Web集群案例实战 -- Nginx 负载均衡_第2张图片

windows 7 Ultimate. 浏览器访问:http://www.wan.org/
Web集群案例实战 -- Nginx 负载均衡_第3张图片
刷新
Web集群案例实战 -- Nginx 负载均衡_第4张图片
继续刷新
Web集群案例实战 -- Nginx 负载均衡_第5张图片
继续刷新
Web集群案例实战 -- Nginx 负载均衡_第6张图片
继续刷新
Web集群案例实战 -- Nginx 负载均衡_第7张图片
继续刷新
Web集群案例实战 -- Nginx 负载均衡_第8张图片
node03测试

添加hosts文件

[root@node03 ~]# vim /etc/hosts
192.168.5.11 www.wan.org
192.168.5.12 web1.wan.org web2.wan.org web3.wan.org

Web集群案例实战 -- Nginx 负载均衡_第9张图片

你可能感兴趣的:(Web,Server,Clusters,Web集群,Nginx,负载均衡,运维)