Nginx负载均衡配置全过程

本文主要介绍使用配置Nginx的负载均衡过程。一台Ubuntu虚拟机充当3台应用服务器和负载均衡器。

一、概念准备

  1. 负载均衡原理-原来发送到一台服务器的请求,经过负载均衡后,可以让多台服务器分担多个请求,减轻单台服务器的压力。单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某台服务器负载高宕机和某台服务器闲置的情况。所以说负载均衡通常应用在服务器集群上。

  2. 而负载均衡器有多种,如Nginx,CDN,LVS,DNS等。通过负载均衡策略将请求分发给服务器集群。而本文介绍的是Nginx的负载均衡策略,如下
    a、轮询,代理服务器依次发送给各台服务器
    b、最少least_conn,代理服务器会将连接发送到连接数最少的服务器。
    c、ip地址哈希,不像前两种用的是共享session方式,代理服务器会将同一个客户端每一次请求发送给同一台服务器,就是通过服务器的ip地址。
    d、基于权重weight,根据每台服务器的硬件配置优劣分配请求。

二、centos虚拟机环境准备:

  1. Nodejs,安装过程可以参考这里
  2. Nginx,安装过程可以参考这里

三、开始

  1. 先配置好nginx目录下的nginx.conf文件,请求访问的域名是①中server_name对应的yes.163.com,然后nginx会转发到②中upstream配置下的8881、8882、8883端口监听下的3个nodejs应用。
    Nginx负载均衡配置全过程_第1张图片

  2. 打开/etc/hosts为Ubuntu本机配置回环地址(DNS),解析yes.163.com
    在这里插入图片描述

  3. 测试Ubuntu可以解析域名
    Nginx负载均衡配置全过程_第2张图片

  4. 编写3个nodejs程序,分别让8881、8882、8883端口监听
    Nginx负载均衡配置全过程_第3张图片

  5. 分别打开所有Nodejs程序和Nginx
    Nginx负载均衡配置全过程_第4张图片

  6. 当发出yes.163.com的url请求时,nginx会根据nginx.conf默认配置的轮询负载均衡策略顺序分发给3个端口监听的Nodejs应用。
    Nginx负载均衡配置全过程_第5张图片

你可能感兴趣的:(班级名称-Q1905)