Nginx实现集群的负载均衡配置过程详解

Nginx实现集群的负载均衡配置过程详解

    Nginx 的负载均衡功能,其实实际上和 nginx 的代理是同一个功能,只是把代理一台机器改为多台机器而已。 Nginx 的负载均衡和 lvs 相比,nginx属于更高级的应用层,不牵扯到 ip 和内核的修改,它只是单纯地把用户的请求转发到后面的机器上。这就意味着,后端的 RS 不需要配置公网。

一、实验环境

Nginx 调度器 (public 172.16.254.200 privite 192.168.0.48)
RS1只有内网IP (192.168.0.18)
RS2只有外网IP (192.168.0.28)

 

二、配置文件

在nginx调度器上编辑配置文件

# vim /usr/local/nginx/conf/vhosts/lb.conf

添加如下内容:

复制代码
复制代码
upstream test {
    ip_hash;
    server 192.168.0.18;
    server 192.168.0.28;
}
server {
    listen 80;150
    server_name www.aminglinux.com;
    location / {
        proxy_pass http://test/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    } 
}
复制代码
复制代码

 

三、配置说明

你会发现这个配置和我们之前讲的 nginx 代理配置如出一辙,只是多了一个upstream,这个 upstream 用来定义后端的 RS,可以只写一个。 ip_hash 为 nginx 的一种调度算法,加上这一行后会达到这样的效果,即一个用户的请求会适中被分发到固定的一个 RS上。这样的好处是,可以避免把同一个用户的请求分发到不同的机器上而导致 session 丢失的情况。 upstream 里面, RS 后面的 ip 后面还可以加权重,比如"server 192.168.31.100 weight=100;"。还有一点要注意, upstream 后面的 test 是自定义的一个名字,可以随便写,唯一的要求是要和 proxy_pass 后面保持一致。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
nginx负载均衡配置可以通过在nginx配置文件中添加upstream模块来实现。在http{}模块中添加以下内容: ``` upstream webServer { server 192.168.95.138:80 weight=3; server 192.168.95.139:80 weight=7; } ``` 其中,`192.168.95.138:80`和`192.168.95.139:80`是需要进行负载均衡的服务器的地址和端口号,`weight`参数指定了服务器的权重。 接下来,在server{}模块中配置监听端口和服务器名称,并设置代理规则,将请求转发给上面定义的webServer集群: ``` server { listen 80; server_name 192.168.95.137; location / { index index.html index.htm; proxy_pass http://webServer; } } ``` 保存配置文件后,使用命令`/usr/local/nginx/sbin/nginx -t`检查配置文件的语法正确性,然后使用命令`/usr/local/nginx/sbin/nginx -s reload`重新加载配置文件使其生效。 此外,如果需要修改默认的网页内容,可以通过以下步骤进行: 1. 进入网页文件所在的目录:`cd /usr/local/nginx/html/` 2. 备份原始的index.html文件:`cp index.html index.html.bak` 3. 编辑index.html文件并清空其中的所有内容:`vim index.html` 4. 添加新的内容,例如:`<h>Welcome to server1<h>` 5. 保存并退出编辑器 6. 检查配置文件的语法正确性:`/usr/local/nginx/sbin/nginx -t` 7. 重新加载配置文件:`/usr/local/nginx/sbin/nginx -s reload` 这样,当访问nginx服务器时,会进行负载均衡将请求分发给不同的后端服务器,并且可以自定义权重值来调节各个服务器的负载比例。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值