Nginx负载均衡实现

实现案例:浏览器地址输入http://www.123.com/edu/a.html,负载均衡效果到两台Tomcat:8080 8081端口中?

目录

一、负载均衡是什么?

二、小案例实现步骤

1.准备工作

2.Tomcat配置(默认8080端口)

在usr/local目录下拷贝一份全新的Tomcat文件夹如下图

修改conf/server.xml文件夹 将默认端口8080修改成8081,并且修改服务端口

3.域名(本地Host修改)

C:\Windows\System32\drivers\etc\host文件

4.Nginx文件配置(简化版省去多余功能)

5.测试

总结

一、负载均衡是什么?

    在高并发的情况下,单个服务器解决不了问题,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器的上的情况改为请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡

二、小案例实现步骤

1.准备工作

1.一台Centos7准备俩个Tomcat服务器 8080端口 8081端口
2.Centos7的IP地址为192.168.145.128
3.关闭防火墙 systemctl stop firewalld.service
4.每个Tomcat服务器根目录Webapps目录下准备edu文件夹和a.html文件项目结构如下

2.Tomcat配置(默认8080端口)

在usr/local目录下拷贝一份全新的Tomcat文件夹如下图

修改conf/server.xml文件夹 将默认端口8080修改成8081,并且修改服务端口

    <Connector port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               maxParameterCount="1000"
               />

<Server port="8015" shutdown="SHUTDOWN">

3.域名(本地Host修改)

C:\Windows\System32\drivers\etc\host文件

文件末尾加上自己对应的IP地址和域名 我这里对应的是192.168.145.128 www.123.com

4.Nginx文件配置(简化版省去多余功能)

代码如下(示例):

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;
    upstream loadB{    #这里配置了upStream 配置了server服务器列表
       server 192.168.145.128:8080;
       server 192.168.145.128:8081;
   }
    server {
        listen       80;
        server_name  192.168.145.128;   #配置自己对应的IP地址或域名

        location / {
        proxy_pass http://loadB;  #注意这里的loadB是对应的upStream名
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

5.测试

启动nginx,tomcat8080,tomcat8081

主机访问后台服务器

6.Nginx负载均衡分配方式

一 轮询(默认)

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

二 weight

weight 代表权重(默认为 1),权重越高被分配的客户端越多,
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

    upstream loadB{
   	server 192.168.145.128:8080  weight=6;
	server 192.168.145.128:8081  weight=5;
   }

三 IP hash

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

    upstream loadB{
	ip_hash;
   	server 192.168.145.128:8080;
	server 192.168.145.128:8081;
   }

四 fair(第三方)

按后端服务器的响应时间来分配请求,响应时间短的优先分配

    upstream loadB{
   	server 192.168.145.128:8080;
	server 192.168.145.128:8081;
	fair;
   }

总结

对于Nginx负载均衡的一个小案例的实现和知识点的回顾

  • 12
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值