(一)设计思路

高可用:keepalived 解决方案

负载均衡:(lvs)DR做轮询,需要一个调度器,后端节点两个(部署nginx动态博客),通过一个vip去访问动态博客

  后端节点需要部署动态博客作为资源供客户访问。

  调度器做keepalived(dr),给调度器做一个备节点,让他俩互为主备,避免资源浪费。

这样的话就需要四台物理机,两台主备调度器,两台realserver。

(二)部署过程

(1)调度器上的部署

1. 两台调度器下载keepalived:

yum install -y keepalived

2.编辑配置文件,让两台调度器互为主备

[root@node1 keepalived]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived global_defs {
notification_email {
# acassen@firewall.loc
# failover@firewall.loc
# sysadmin@firewall.loc
}
# notification_email_from Alexandre.Cassen@firewall.loc
# smtp_server 192.168.200.1
# smtp_connect_timeout
# router_id LVS_DEVEL
# vrrp_skip_check_adv_addr
# vrrp_strict
# vrrp_garp_interval
# vrrp_gna_interval
} vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 100
advert_int
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.42.200
}
}
vrrp_instance VI_2 {
state BACKUP
interface ens33
virtual_router_id 52
priority 99
advert_int
authentication {
auth_type PASS
auth_pass 2222
}
virtual_ipaddress {
192.168.42.100
}
}
virtual_server 192.168.42.200 {
delay_loop
lb_algo rr
lb_kind DR
protocol TCP
real_server 192.168.42.172 {
weight
HTTP_GET {
url {
path /
         state_code 200
}
connect_timeout
nb_get_retry
delay_before_retry
}
}
}
virtual_server 192.168.42.200 {
delay_loop
lb_algo rr
lb_kind DR
protocol TCP
real_server 192.168.42.173 {
weight
HTTP_GET {
url {
path /
state_code
}
connect_timeout
nb_get_retry
delay_before_retry
}
}
} [root@node2 ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived global_defs {
   notification_email {
#     acassen@firewall.loc
#     failover@firewall.loc
#     sysadmin@firewall.loc
   }
#   notification_email_from Alexandre.Cassen@firewall.loc
#   smtp_server 192.168.200.1
#   smtp_connect_timeout 30
#   router_id LVS_DEVEL
#   vrrp_skip_check_adv_addr
#   vrrp_strict
#   vrrp_garp_interval 0
#   vrrp_gna_interval 0
} vrrp_instance VI_1 {
    state BACKUP
    interface ens33
    virtual_router_id 51
    priority 99
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.42.200
    }
}
vrrp_instance VI_2 {
    state MASTER
    interface ens33
    virtual_router_id 52
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 2222
    }   
    virtual_ipaddress {
        192.168.42.100
    }
}
virtual_server 192.168.42.200 80 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    protocol TCP
    real_server 192.168.42.172 80 {
        weight 1
        HTTP_GET {
            url {
              path /
         state_code 200
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}
virtual_server 192.168.42.200 80 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    protocol TCP
    real_server 192.168.42.173 80 {
        weight 1
        HTTP_GET {
            url {
              path /
              state_code 200
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

3.调度器重启keepalived(可以做个测试,查看vip的迁移)

systemctl restart keepalived

(2)realserver部署

1. realserver部署DR

[root@node3 ~]# cd /proc/sys/net/ipv4/conf/
[root@node3 conf]# ls
all calib2dc35d78a1 docker0 lo
cali748bf682dd1 calib6602a4140d ens33 tunl0
cali8e151c6d769 default flannel.
[root@node3 conf]# cd all
[root@node3 all]# ls
accept_local disable_policy proxy_arp_pvlan
accept_redirects disable_xfrm route_localnet
accept_source_route force_igmp_version rp_filter
arp_accept forwarding secure_redirects
arp_announce log_martians send_redirects
arp_filter mc_forwarding shared_media
arp_ignore medium_id src_valid_mark
arp_notify promote_secondaries tag
bootp_relay proxy_arp
[root@node3 all]# echo > arp_ignore
[root@node3 all]# echo > arp_announce
[root@node3 all]# cd ..
[root@node3 conf]# ls
all calib2dc35d78a1 docker0 lo
cali748bf682dd1 calib6602a4140d ens33 tunl0
cali8e151c6d769 default flannel.
[root@node3 conf]# cd lo
[root@node3 lo]# ls
accept_local disable_policy proxy_arp_pvlan
accept_redirects disable_xfrm route_localnet
accept_source_route force_igmp_version rp_filter
arp_accept forwarding secure_redirects
arp_announce log_martians send_redirects
arp_filter mc_forwarding shared_media
arp_ignore medium_id src_valid_mark
arp_notify promote_secondaries tag
bootp_relay proxy_arp
[root@node3 lo]# echo > arp_announce
[root@node3 lo]# echo > arp_ignore
[root@node3 lo]# ifconfig ens33: 192.168.42.200/ broadcast 192.168.42.200 up
[root@node3 lo]# route add -host 192.168.42.200 dev ens33:[root@node3 lo]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.42.200 0.0.0.0 255.255.255.255 UH ens33

2. 部署LNMP架构上线动态博客(上一篇博客有就不再赘述了)

(3)浏览器访问vip:

http://192.168.42.200/wp-admin/install.php

Linux 系统中部署 LNMP 高可用负载均衡架构集群实现动态博客的更多相关文章

  1. Lvs+Keepalived+MySQL Cluster架设高可用负载均衡Mysql集群

    ------------------------------------- 一.前言 二.MySQL Cluster基本概念 三.环境 四.配置 1.LB-Master及LB-Backup配置 2.M ...

  2. 【线上测试之后的应用】基于MySQL+MHA+Haproxy构建高可用负载均衡数据库集群(详解)

    这里我们先介绍一下MHA是什么,其次就是它的应用与测试,同时为了大家呈现了数据备份案例,最后总结了使用情况以及注意事项和解决办法 一.MHA 概述 MHA(Master High Availabili ...

  3. HAProxy+Varnish+LNMP实现高可用负载均衡动静分离集群部署

    HAProxy高可用负载均衡集群部署 基本信息: 系统平台:VMware WorkStation 系统版本: CentOS Linux release 7.2.1511 (Core) 内核版本: 3. ...

  4. 搭建 Keepalived + Nginx + Tomcat 的高可用负载均衡架构

    1 概述 初期的互联网企业由于业务量较小,所以一般单机部署,实现单点访问即可满足业务的需求,这也是最简单的部署方式,但是随着业务的不断扩大,系统的访问量逐渐的上升,单机部署的模式已无法承载现有的业务量 ...

  5. [转]搭建Keepalived+Nginx+Tomcat高可用负载均衡架构

    [原文]https://www.toutiao.com/i6591714650205716996/ 一.概述 初期的互联网企业由于业务量较小,所以一般单机部署,实现单点访问即可满足业务的需求,这也是最 ...

  6. 搭建Keepalived + Nginx + Tomcat的高可用负载均衡架构

    1 概述 初期的互联网企业由于业务量较小,所以一般单机部署,实现单点访问即可满足业务的需求,这也是最简单的部署方式,但是随着业务的不断扩大,系统的访问量逐渐的上升,单机部署的模式已无法承载现有的业务量 ...

  7. Keepalived + Nginx + Tomcat 的高可用负载均衡架构搭建

    Keepalived + Nginx + Tomcat 的高可用负载均衡架构搭建 Nginx 是一个高性能的 HTTP反向代理服务器 Keepalived 是一个基于VRRP协议来实现的LVS服务高可 ...

  8. Keepalived + Nginx + Tomcat 高可用负载均衡架构

    环境: 1.centos7.3 2.虚拟ip:192.168.217.200 3.192.168.217.11.192.168.217.12上分别部署Nginx Keepalived Tomcat并进 ...

  9. 企业级-Mysql双主互备高可用负载均衡架构(基于GTID主从复制模式)(原创)

    前言:          原理与思想        这里选用GTID主从复制模式Mysql主从复制模式,是为了更加确保主从复制的正确性.健康性与易配性.这里做的是两服务器A,B各有Mysql实例331 ...

随机推荐

  1. Find The Multiple (DFS递归)

    题意:输入一个不超过200的数 n,然后求得一个数字k,数字满足:能被n整除,每一位只有0,1.这样的数字k会有很多个,然以输出一个就可以. 注意unsigned __int64的范围,-(10^19 ...

  2. k8s的容器编排

    1.K8S是如何对容器编排? 在K8S集群中,容器并非最小的单位,K8S集群中最小的调度单位是Pod,容器则被封装在Pod之中.由此可知,一个容器或多个容器可以同属于在一个Pod之中. 2.Pod是怎 ...

  3. JS 使用RSA加密解密

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>使 ...

  4. python开发全自动网站链接主动提交百度工具

    自己网站因数据比较多,趁晚上没事就写了一个通过python爬取url自动提交给百度,实现网站全站提交的思路,代码实现很简单,因为编写时间仓储,难免有些bug,可以放在服务器上配置下定时爬取提交. im ...

  5. Nginx入门(四)——反向代理

    server { listen 8020; server_name localhost; location / { root html; index index.html index.htm; pro ...

  6. 51 arm x86 的大小端记录

    51 是大端模式 arm的cortex m 默认小端,可以设置大端 x86是小端 大端模式:低位字节存在高地址上,高位字节存在低地址上  小端模式:高位字节存在高地址上,低位字节存在低地址上

  7. c++面向对象模型---c++如何管理类,对象以及它们之间的联系

    首先我们随意定义4个类结构 class cl1 { private: int age; string name; static int addr; public: cl1() { } void iwa ...

  8. 【安卓进阶】Product Flavor基础玩法

    在安卓项目开发中,大多时候总是有测试环境.生产环境之类的区别,在不使用Product Flavor时,我们一般都是通过手工改动代码来实现测试环境.生产环境的切换. 这样就造成了项目管理上的不便,频繁的 ...

  9. Spring security invalid-session-url 的坑(配了permitAll仍然跳转到登录页)

    Spring security session配置中如果配了如下的invalid-session-url,配置了permitAll链接首次链接系统时会跳转到登录页,将该配置删除即可解决此问题. < ...

  10. 搭建自己的博客(二十二):通过ajax提交评论信息,并增加公式编辑功能

    编辑功能使用到了ckeditor的MathJax组件.ajax提交评论可以不用刷新浏览器. 1.变化的部分