nginx的负载均衡

作者: 阿里云云栖号 | 来源:发表于2018-05-24 10:17 被阅读766次

    Nginx的负载均衡

    一.Nginx简介

    Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。

    二.Nginx应用场景

    1、http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。
    2、虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
    3、反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。

    三.今天的实验主要是nginx来作为负载均衡服务器,同时实验中需要用nginx作为web服务器。

    负载均衡策略主要是以下三种:

    1.轮循           每个请求逐个分发到后端服务器
    2.加权轮循         按照分配的权重将请求分发到后端服务器
       3.ip hash         轮询的基础上,保持一个客户端多次请求分发到一台后端服务器上
    
    

    实验环境:
    三台虚拟机:192.168.100.3 (负载均衡器) nginx-test01

            192.168.100.4    (web服务器)    nginx-test02
            192.168.100.5    (web服务器)    nginx-test03
    

    操作系统:centos 7.3

    具体操作:

    1.现在每台虚拟机上安装nginx,先下载安装包,然后逐个安装。
    tar zvxf nginx-1.8.1.tar.gz 解压缩安装包
    cd nginx-1.8.1 进入解压目录
    ./configure--prefix=/usr/local/nginx--user=nginx--group=nginx --with-http_stub_status_module --with-http_ssl_module 编译
    make && make install 安装
    
    • 编译过程中,可能因为环境的不同缺少部分包,需手动yum安装
      2.先安装nginx完成后,分别在两台机器上配置主页,但是两台服务器的主页内容不同,以便区分负载。
    image.png

    设置test02和03的主页


    image.png image.png

    3.开始设置负载均衡
    编辑负载均衡服务器的主配置文件
    vim /usr/local/nginx/conf/nginx.conf


    image.png image.png

    在http里面,server外面定义后端服务器组用来做负载均衡(负载均衡可以将自身也作为web服务器轮询)。在server中引用定义的后端服务器组。

    仅仅是作为普通轮询直接填写后端服务器IP地址即可,如果需要按照不同服务器的性能分配不同的权重,可在服务器后面加上权重。或者设置为IP hash。如下图:
    加入权重的配置。保证充分利用服务器的性能。


    image.png

    IP hash的配置

    保证在短时间内,同一个客户端的请求不被分配到其他的nginx-server上 image.png

    IP hash的配置
    保证在短时间内,同一个客户端的请求不被分配到其他的nginx-server上

    保存退出,重新加载nginx。
    nginx –s reload


    image.png

    访问负载均衡服务器,查看是否产生正常的轮询访问(为了直观对比使用命令行访问)


    image.png
    访问负载均衡服务器,产生不同的访问结果,对应两台后端服务器,说明负载均衡搭建成功。

    本文作者:彭锐
    阅读原文
    本文为云栖社区原创内容,未经允许不得转载。

    相关文章

      网友评论

      本文标题:nginx的负载均衡

      本文链接:https://www.haomeiwen.com/subject/szmjjftx.html