Nginx负载均衡

Nginx 负载均衡

nginx用处

  • 直接作为http server(代替tomcat,apache等服务器);
  • 另外一个最主要的功能就是作为反向代理服务器实现负载均衡

环境

  1. nginx部署在windows上,另外两台tomcat,地址为
  2. nginx下载地址http://nginx.org/en/download.html
  3. 两个tomcat分布部署在虚拟机上,假设他们的ip是192.168.155.1:80192.168.155.2:80,分别有路劲service1\index.htmlservice2\index.html,里面的内容只要好鉴别是哪个tomcat下的资源就行了
    4.先可以启动tomcat,访问相应的地址试试,能不能访问

配置

针对不同请求 负载均衡

下载好nginx之后,修改conf\nginx.conf

`
    # ~表示根据正则匹配url,以下的效果是,当url包含service1,nginx会将请求给192.168.155.1:80处理
    location ~ /service1/ {
        proxy_pass    http://192.168.155.1:80;
    }       
    #当url包含service2,nginx会将请求给192.168.155.2:80处理
    location ~ /service2/ {
        proxy_pass    http://192.168.155.2:80;
    }
`

启动nginx,这也就实现了最简单的负载均衡

例如:请求http://localhost/service1/index.html,在nginx容器下没有service1/index.html的路劲,nginx就是根据上面的配置,将请求交给http://192.168.155.1:80处理

访问同一请求 负载均衡

即用户访问同一请求时,配置多台tomcat,由nginx随机将请求分给某一个tomcat

在nginx.conf的http模块中添加,服务器集群server cluster

`
    upstream interestCluster {
        server 192.168.155.1:80;
        server 192.168.155.2:80;
    }
`

在server模块中定义,负载均衡

`
    location ~ /service1/ {
      proxy_pass http://interestCluster ; #跟上面的集群名字一样
      proxy_redirect off;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
`

以上配置,到达的效果就是,当你访问http://localhost/service1/index.html,在nginx容器下没有service1/index.html的路劲,nginx就是根据上面的配置,将请求交给http://192.168.155.1:80或者时http://192.168.155.2:80处理

以上配置两个tomcat均衡,你可以根据自己服务器硬件配置,来配置权重,继续修改nginx.conf

`
    upstream interestCluster {
        server 192.168.155.1:80;
        server 192.168.155.2:80 weight=2;
    }
`

即有三分之二的概率用到192.168.155.2,有三分之一的概率用到192.168.155.1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值