Nginx七层负载均衡规划及部署

前言

Nginx是一款轻量级,高性能的 HTTP 和反向代理服务,也是一个IMAP/POP3/SMTP服务。可实现四、七层负载均衡,同时也支持多种负载均衡算法,如轮询、加权轮询、ip-hash、url-hash、fair等算法。其具有很好的反向代理和负载均衡特性,下面来简单介绍一下Nginx的七层负载均衡规划及简单部署。

一、环境规划

主机功能
192.168.139.151LVS-master + keepalived
192.168.139.152LVS-backup + keepalived
192.168.139.153Nginx代理服务器1
192.168.139.154Nginx代理服务器2
192.168.139.155Tomcat后端应用服务1
192.168.139.156Tomcat后端应用服务2
192.168.139.157PHP后端应用服务1
192.168.139.158PHP后端应用服务2

二、环境架构

在这里插入图片描述

三、环境部署

关闭防火墙及selinux。

3.1 安装Nginx服务

注:两台机器均操作,这里省略第二台机器的操作。

[root@nginx-master ~]# cd /etc/yum.repos.d/
[root@nginx-proxy yum.repos.d]# vim nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
[root@nginx-proxy yum.repos.d]# yum install yum-utils -y
[root@nginx-proxy yum.repos.d]# yum install nginx -y

3.2 安装keepalived实现高可用

注:两台机器均操作。

(1)安装keepalived

[root@nginx-master ~]# yum install -y keepalived
[root@nginx-backup ~]# yum install -y keepalived

(2)对nginx-master端修改配置

[root@nginx-master ~]# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   router_id directory1
}

vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 80
    priority 100
    advert_int 1  
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.139.160/24
    }
}

(3)对nginx-backup端修改配置

[root@nginx-backup ~]# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   router_id directory2
}

vrrp_instance VI_1 {
    state BACKUP 
    interface ens33
    virtual_router_id 80
    priority 50 
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.139.160/24
    }
}

(4)主备均启动KeepAlived

此处仅演示了一台,另一台同样操作

[root@nginx-master ~]# chkconfig keepalived on
[root@nginx-master ~]# service keepalived start

3.3 keepalived心跳检测

  • script

    [root@nginx-master ~]# vim /etc/keepalived/check_nginx_status.sh
    #!/bin/bash												        
    /usr/bin/curl -I http://localhost &>/dev/null	
    if [ $? -ne 0 ];then										    
    #	/etc/init.d/keepalived stop
    	systemctl stop keepalived
    fi															        	
    [root@nginx-proxy-master ~]# chmod a+x /etc/keepalived/check_nginx_status.sh
    
  • keepalived使用script

    ! Configuration File for keepalived
    
    global_defs {
       router_id director1
    }
    vrrp_script check_nginx {
       script "/etc/keepalived/check_nginx_status.sh"
       interval 5
    }
    
    vrrp_instance VI_1 {
        state MASTER
        interface ens33
        virtual_router_id 80
        priority 100
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        virtual_ipaddress {
            192.168.139.160/24
        }
        track_script {
            check_nginx
        }
    }
    

3.4 部署Tomcat与PHP

这里的部署方法和LVS四层负载均衡的部署方法一样,不再演示。(如果有需要的可以去看一下我上一篇博客《LVS四层负载均衡规划及部署》

四、环境测试

同样这里测试的结果和LVS四层负载均衡也是一样的,不同的是一个是七层的负载均衡,另一个是四层的负载均衡,其原理和方法基本上是一致的。

4.1 访问Tomcat

在这里插入图片描述

4.2 访问PHP

在这里插入图片描述

总结

这里我是用Nginx做的七层负载均衡,Nginx我想大家应该都不陌生了,我之前的博客有对Nginx有详细的介绍,如我之前介绍的Nginx的反向代理、负载均衡、动静分离、访问控制等。在这里我结合了keepalived来实现了七层负载均衡的高可用。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云计算-Security

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值