Linux 系统中部署 LNMP 高可用负载均衡架构集群实现动态博客
(一)设计思路
高可用: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 高可用负载均衡架构集群实现动态博客的更多相关文章
- Lvs+Keepalived+MySQL Cluster架设高可用负载均衡Mysql集群
------------------------------------- 一.前言 二.MySQL Cluster基本概念 三.环境 四.配置 1.LB-Master及LB-Backup配置 2.M ...
- 【线上测试之后的应用】基于MySQL+MHA+Haproxy构建高可用负载均衡数据库集群(详解)
这里我们先介绍一下MHA是什么,其次就是它的应用与测试,同时为了大家呈现了数据备份案例,最后总结了使用情况以及注意事项和解决办法 一.MHA 概述 MHA(Master High Availabili ...
- HAProxy+Varnish+LNMP实现高可用负载均衡动静分离集群部署
HAProxy高可用负载均衡集群部署 基本信息: 系统平台:VMware WorkStation 系统版本: CentOS Linux release 7.2.1511 (Core) 内核版本: 3. ...
- 搭建 Keepalived + Nginx + Tomcat 的高可用负载均衡架构
1 概述 初期的互联网企业由于业务量较小,所以一般单机部署,实现单点访问即可满足业务的需求,这也是最简单的部署方式,但是随着业务的不断扩大,系统的访问量逐渐的上升,单机部署的模式已无法承载现有的业务量 ...
- [转]搭建Keepalived+Nginx+Tomcat高可用负载均衡架构
[原文]https://www.toutiao.com/i6591714650205716996/ 一.概述 初期的互联网企业由于业务量较小,所以一般单机部署,实现单点访问即可满足业务的需求,这也是最 ...
- 搭建Keepalived + Nginx + Tomcat的高可用负载均衡架构
1 概述 初期的互联网企业由于业务量较小,所以一般单机部署,实现单点访问即可满足业务的需求,这也是最简单的部署方式,但是随着业务的不断扩大,系统的访问量逐渐的上升,单机部署的模式已无法承载现有的业务量 ...
- Keepalived + Nginx + Tomcat 的高可用负载均衡架构搭建
Keepalived + Nginx + Tomcat 的高可用负载均衡架构搭建 Nginx 是一个高性能的 HTTP反向代理服务器 Keepalived 是一个基于VRRP协议来实现的LVS服务高可 ...
- Keepalived + Nginx + Tomcat 高可用负载均衡架构
环境: 1.centos7.3 2.虚拟ip:192.168.217.200 3.192.168.217.11.192.168.217.12上分别部署Nginx Keepalived Tomcat并进 ...
- 企业级-Mysql双主互备高可用负载均衡架构(基于GTID主从复制模式)(原创)
前言: 原理与思想 这里选用GTID主从复制模式Mysql主从复制模式,是为了更加确保主从复制的正确性.健康性与易配性.这里做的是两服务器A,B各有Mysql实例331 ...
随机推荐
- 算法:用户喜好--Map与List配合下的查找
提示:在算法处理过程中,未必就要将出现在前面的作为关键字检索.比如本题,非得先去检索范围,再去判断范围中key的个数.反其道而行,把输入的数字当作关键字,组成Map package test; imp ...
- cvte2018春招前端开发实习面试分享
编程题问题描述: 返回整数数组中出现次数第n多的数字(返回值可能有多个) 最近在找实习,面试二面最后出了一道这样的编程题,当时有思路但语法有错误,而且很紧张,最后没有运行出来,导致凉凉,回来重新思考了 ...
- CentOS环境部署(Nginx+Mariadb+Java+Tomcat)
1.安装nginx 安装 yum install nginx 启动 yum install nginx 开机自启 sudo systemctl enable nginx 2.安装mariadb 安装 ...
- Selenium常用API的使用java语言之4-环境安装之Selenium
1.通过jar包安装 点击Selenium下载 链接 你会看到Selenium Standalone Server的介绍: The Selenium Server is needed in order ...
- LightOJ - 1179-Josephus Problem(约瑟夫环)
链接: https://vjudge.net/problem/LightOJ-1179 题意: The historian Flavius Josephus relates how, in the R ...
- docker学习(四)
一.Docker数据管理 在容器中管理数据主要有两种方式:1.数据卷(Data volumes)2.数据卷容器(Data volume containers) 1.数据卷数据卷是一个可供一个或多个容器 ...
- 微信小程序 post 请求获取不到参数原因
如果使用post 请求一定要加上 header: { "content-type": "application/x-www-form-urlencoded" } ...
- 使用jQuery快速高效制作网页交互特效第一章JavaScript基础
JavaScript 一.JavaScript概念: JavaScript面向对象事件驱动具有安全性的脚本语言,面向对象 JavaScript特点: 1.解释性语言,边运行边解释 2.和HTML页面实 ...
- document基本操作 动态脚本-动态样式-创建表格
var html = document.documentElement; var body = document.body; window.onload = function() { //docume ...
- IDEA去掉屏幕中间的白色竖线
现状: 打开File->Settings->Editor->General->Appearance,去掉勾选: 修改后: