Nginx 配置实例—负载均衡

本文最后更新于:2 年前

实现效果

浏览器地址栏输入地址 http://192.168.59.100/edu/a.html,负载均衡效果,平均到 8080和 8081 端口中。

准备工作

  1. 准备两台 tomcat 服务器,一台 8080,一台 8081

    1.1 创建两个目录

    1.2 准备好两个tomcat服务器

    1.3 查找实践1开启的tomcat进程,并终止

    1.4 启动8080端口的tomcat服务器

    1.5 编辑第二个tomcat服务器配置文件

    1.6 修改图中位置的内容

    1.7 启动修改为8081端口后的tomcat服务器

    1.8 此时可在本地浏览器中访问到两个端口,准备工作完成

  2. 创建文件夹和测试页面

    在两台 tomcat 里面 webapps 目录中,创建名称是 edu 文件夹,在 edu 文件夹中创建页面 a.html,用于测试。

    创建8080端口测试页面

    创建8081端口测试页面

    此时可在本地浏览器可访问到两个端口的测试页面

具体配置

在 nginx 的配置文件中进行负载均衡的配置

1
[root@gaojie ~]# vim /usr/local/nginx/conf/nginx.conf 

最终效果

  1. 重启 Nginx 服务器

    1
    [root@gaojie edu]# /usr/local/nginx/sbin/nginx -s reload
  2. 访问测试页面

    访问时进入到8080服务器页面

    刷新后进入到8081服务器页面

    再次刷新,又进入到8080服务器页面

可以看出,请求被负担到不同服务器当中,实现了负载均衡。

nginx 分配服务器策略

  1. 轮询(默认)

    每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。

    按时间顺序逐一分配

  2. weight
    weight 代表权,重默认为 1,权重越高被分配的客户端越多。用于后端服务器性能不均的情况。

    分配到8081的客户端是8080的两倍

  3. ip_hash
    每个请求按访问 ip 的 hash 结果分配,这样每个 ip (客户端)固定访问一个后端服务器,可以解决 session 的问题。

    每个 ip 每次访问的都是同一台服务器

  4. fair(第三方)
    按后端服务器的响应时间来分配请求,响应时间短的优先分配。

    优先分配给响应时间短的服务器


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!