搭建Keepalived+LNMP架构web动态博客 实现高可用与负载均衡
环境准备:
192.168.193.80 node1
192.168.193.81 node2
关闭防火墙
[root@node1 ~]# systemctl stop firewalld #两台都关闭
[root@node1 ~]# setenforce
setenforce: SELinux is disabled
host文件
[root@node1 ~]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
:: localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.193.80 node1
192.168.193.81 node2
keepalived为主备模式
master为node1节点
backup为node2节点
yum源
[epel]
name=epel
enabled=
gpgcheck=
baseurl=https://mirrors.aliyun.com/epel/7/x86_64/
[centos]
name=centos base
enabled=
gpgcheck=
baseurl=http://mirrors.163.com/centos/7/os/x86_64/
master节点配置
下载keeplived
[root@node1 ~]# yum -y install keepalived
[root@node1 ~]# vim /etc/keepalived/keepalived.conf
, s/^/#/g #-7行加注释
, s/^/#/g #-
, s/^/#/g #注释掉
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id
priority 100 #优先级
advert_int #一秒检查一次 一秒给baskup发送一个报文
authentication {
auth_type PASS #这个是密码认证,和51相辅相成,证明在一个网段里
auth_pass #密码
}
virtual_ipaddress {
192.168.193.252 #这个就vip 可以有一个也可以有多个
}
}
[root@node1 ~]# scp /etc/keepalived/keepalived.conf 192.168.193.81:/etc/keepalived/keepalived.conf #把配置文件传到node2节点
配置backup端
[root@node2 ~]# vim /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id
priority
advert_int
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
192.168.193.252
}
}
[root@node1 ~]# systemctl start keepalived #启动
[root@node2 ~]# systemctl start keepalived
[root@node1 ~]# ip a
: lo: <LOOPBACK,UP,LOWER_UP> mtu qdisc noqueue state UNKNOWN qlen
link/loopback ::::: brd :::::
inet 127.0.0.1/ scope host lo
valid_lft forever preferred_lft forever
inet6 ::/ scope host
valid_lft forever preferred_lft forever
: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP qlen
link/ether :0c:::7a: brd ff:ff:ff:ff:ff:ff
inet 192.168.193.80/ brd 192.168.193.255 scope global ens33
valid_lft forever preferred_lft forever
inet 192.168.193.252/ scope global ens33 #这个就是虚拟IP
valid_lft forever preferred_lft forever
inet6 fe80::9a7d:fb7d:d10f:e5e8/ scope link
valid_lft forever preferred_lft forever
[root@node2 ~]# ip a
: lo: <LOOPBACK,UP,LOWER_UP> mtu qdisc noqueue state UNKNOWN qlen
link/loopback ::::: brd :::::
inet 127.0.0.1/ scope host lo
valid_lft forever preferred_lft forever
inet6 ::/ scope host
valid_lft forever preferred_lft forever
: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP qlen
link/ether :0c::5b:: brd ff:ff:ff:ff:ff:ff
inet 192.168.193.81/ brd 192.168.193.255 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::80ce:27dd:68f9:5adc/ scope link
valid_lft forever preferred_lft forever
实验停止node1节点IP是否发生漂移
[root@node1 ~]# systemctl stop keepalived
[root@node2 ~]# ip a
: lo: <LOOPBACK,UP,LOWER_UP> mtu qdisc noqueue state UNKNOWN qlen
link/loopback ::::: brd :::::
inet 127.0.0.1/ scope host lo
valid_lft forever preferred_lft forever
inet6 ::/ scope host
valid_lft forever preferred_lft forever
: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP qlen
link/ether :0c::5b:: brd ff:ff:ff:ff:ff:ff
inet 192.168.193.81/ brd 192.168.193.255 scope global ens33
valid_lft forever preferred_lft forever
inet 192.168.193.252/ scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::80ce:27dd:68f9:5adc/ scope link
valid_lft forever preferred_lft forever
发生漂移,这样就成功了,利用了VRRP协议
配置LVS
node1配置
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id
priority 100
advert_int
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
192.168.193.252
}
}
virtual_server 192.168.193.252 {
delay_loop
lb_algo rr
lb_kind DR
protocol TCP
real_server 192.168.193.80 {
weight
HTTP_GET {
url {
path /
status_code
}
connect_timeout
nb_get_retry
delay_before_retry
}
}
real_server 192.168.193.81 {
weight
HTTP_GET {
url {
path /
status_code
}
connect_timeout
nb_get_retry
delay_before_retry
}
}
}
node2配置
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id
priority
advert_int
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
192.168.193.252
}
}
virtual_server 192.168.193.252 {
delay_loop
lb_algo rr
lb_kind DR
protocol TCP
real_server 192.168.193.80 {
weight
HTTP_GET {
url {
path /
status_code
}
connect_timeout
nb_get_retry
delay_before_retry
}
}
real_server 192.168.193.81 {
weight
HTTP_GET {
url {
path /
status_code
}
connect_timeout
nb_get_retry
delay_before_retry
}
}
}
[root@node1 ~]# yum -y install
[root@node1 ~]# bash .sh start
启动成功
[root@node2 ~]# bash .sh start
启动成功
#!/bin/bash
case $ in
start)
echo > /proc/sys/net/ipv4/conf/all/arp_ignore
echo > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo > /proc/sys/net/ipv4/conf/all/arp_announce
echo > /proc/sys/net/ipv4/conf/lo/arp_announce
ifconfig ens33: 192.168.193.252/ broadcast 192.168.193.252 up
if [ $? -eq ];then
route add -host 192.168.193.252 dev ens33:
fi
echo "启动成功"
;;
stop)
echo > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo > /proc/sys/net/ipv4/conf/all/arp_ignore
echo > /proc/sys/net/ipv4/conf/lo/arp_announce
echo > /proc/sys/net/ipv4/conf/all/arp_announce
ifconfig ens33: down
route del -host 192.168.193.252
echo "删除成功"
;;
*)
echo "usage start|stop"
;;
esac
[root@node1 ~]# systemctl restart keepalived
[root@node2 ~]# systemctl restart keepalived
[root@node1 ~]# yum -y install ipvsadm [root@node1 ~]# ipvsadm -Ln
IP Virtual Server version 1.2. (size=)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.193.252: rr
-> 192.168.193.80: Route
-> 192.168.193.81: Route
这样Keeplived就继承了LVS的功能 高可用与负载均衡
继续搭建nginx
以下操作2台节点同样操作
[root@node1 ~]# yum install nginx php php-fpm mariadb-server php-mysql -y [root@node2 ~]# yum install nginx php php-fpm mariadb-server php-mysql -y
server {
listen default_server;
listen [::]: default_server;
server_name _;
root /var/www/html; #修改网站访问目录
index index.php index。html; #修改动态静态
location / { #复制
}
location ~ ^/.*\.php$ { #添加
fastcgi_pass 127.0.0.1:;
include fastcgi.conf;
}
检测配置文件是否有错
[root@node1 ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@node1 ~]# systemctl restart mariadb #启动数据库
[root@node1 ~]# cd /var/www/html/ #进入网站根目录
[root@node1 html]# rz #上传动态博客压缩包
rz waiting to receive.
zmodem trl+C ȡ % KB KB/s :: Errorszip...
[root@node1 html]# ls
wordpress-3.3.1-zh_CN.zip
[root@node1 html]# unzip wordpress-3.3.1-zh_CN.zip
[root@node1 html]# mv wordpress/* .
[root@node1 html]# cp wp-config-sample.php wp-config.php
[root@node1 html]# vim wp-config.php
define('DB_NAME', 'king');
/** MySQL 数据库用户名 */
define('DB_USER', 'king');
/** MySQL 数据库密码 */
define('DB_PASSWORD', '');
[root@node1 html]# mysql -uroot
MariaDB [(none)]> create database king;
MariaDB [(none)]> grant all on *.* to king@'localhost' identified by '';
MariaDB [(none)]> exit
Bye
[root@node1 ~]# systemctl restart nginx #两台同样操作
[root@node1 ~]# systemctl restart php-fpm
[root@node1 ~]# systemctl restart keepalived
[root@node1 ~]# ipvsadm -Ln
IP Virtual Server version 1.2. (size=)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.193.252: rr
-> 192.168.193.80: Route
-> 192.168.193.81: Route [root@node2 ~]# ipvsadm -Ln
IP Virtual Server version 1.2. (size=)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.193.252: rr
-> 192.168.193.80: Route
-> 192.168.193.81: Route
现在访问虚拟IP试验

搭建Keepalived+LNMP架构web动态博客 实现高可用与负载均衡的更多相关文章
- 高可用与负载均衡(7)之聊聊Lvs-DR+Keepalived的解决方案
今天直接开门见山了,直接说配置吧.首先介绍下我这的环境 如有问题,请联系我18500777133@sina.cn IP 安装软件 192.168.1.7 lvs1+keepalived master角 ...
- Keepalived+HAProxy实现RabbtiMQ高可用的负载均衡
HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案,包括Twitter,Reddit,StackOverflow,GitHub在 ...
- EMQ集群搭建实现高可用和负载均衡(百万级设备连接)
一.EMQ集群搭建实现高可用和负载均衡 架构服务器规划 服务器IP 部署业务 作用 192.168.81.13 EMQTTD EMQ集群 192.168.81.22 EMQTTD EMQ集群 192. ...
- 高级java高并发,高性能,分布式,高可用,负载均衡,系统架构实战
java架构师.集群.高可用.高可扩 展.高性能.高并发.性能优化.Spring boot.Redis.ActiveMQ.Nginx.Mycat.Netty.Jvm大型分布 式项目实战 视频课程包含: ...
- 原创:LNMP架构部署个人博客网站 禁止转载复制
nginx编译安装步骤 ①. 检查软件安装的系统环境 cat /etc/redhat-release uname -r ②. 安装nginx的依赖包(pcre-devel openssl-devel) ...
- 通过LVS+Keepalived搭建高可用的负载均衡集群系统
1. 安装LVS软件 (1)安装前准备操作系统:统一采用Centos6.5版本,地址规划如下: 服务器名 IP地址 网关 虚拟设备名 虚拟ip Director Server 192.168 ...
- keepalived + haproxy 实现web 双主模型的高可用负载均衡--转
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://xz159065974.blog.51cto.com/8618592/140581 ...
- LVS + Keepalived 实现高可用、负载均衡 Web 集群
简介: LVS 是 Linux Virtual Server 的简写,Linux 虚拟服务器的意思,是一个虚拟的服务器集群系统,此项目由章文嵩博士于 1998 年 5 月成立,是中国最早出现的自由软件 ...
- nginx+keepalived实现nginx双主高可用的负载均衡
http://kling.blog.51cto.com/3320545/1253474 一.前言: 在互联网上面,网站为用户提供原始的内容访问,同时为用户提供交互操作.提供稳定可靠的服务,可以给用户带 ...
随机推荐
- 【gym102222K】Vertex Covers(高维前缀和,meet in the middle)
题意:给定一张n点m边的图,点带点权,定义点覆盖的权值为点权之积,问所有点覆盖的权值之和膜q n<=36, 1<=a[i]<=1e9,1e8<=q<=1e9 思路:n&l ...
- Oracle--利用监听器日志监控访问该数据库的客户端IP
服务器10.10.10.168 数据库seineebs 客户端 10.10.10.14 用户guipeng.zhang 查看监听器状态: 在本机利用PL/SQL工具连接该数据库 查看监听器日志:一 ...
- [CSP-S模拟测试]:糊涂图(概率DP)
题目传送门(内部题76) 输入格式 第一行输入三个空格隔开的整数$n,m,s$表示随机加一条边之前的糊涂图的点数,边数,以及起点的编号. 接下来$m$行,每行两个空格隔开的整数$a,b$表示从$a$到 ...
- Android4.0 Camera架构初始化流程【转】
本文转载自:http://blog.chinaunix.net/uid-2630593-id-3307176.html Android Camera 采用C/S架构,client 与server两个独 ...
- 在裸机centos7系统中部署django项目的过程
概要 本文用一台安装了centos7.5系统的裸奔Linux机器(当然是虚拟机)详细讲解从无到有部署django项目的过程. 安装必要的工具 配置yum源 至于什么是yum源大家请自行百度,本人用的是 ...
- Ehrenfeucht–Fraïssé game back-and-forth games
w https://en.wikipedia.org/wiki/Ehrenfeucht–Fraïssé game
- JQuery ajax 滚动底部加载更多
<%@ Page Language="C#" %> <%@ Import Namespace="System.IO" %> <%@ ...
- 用Vue来实现音乐播放器(十八):右侧快速入口点击高亮
问题一:当我们点击右侧快速入口的时候 被点击的地方高亮 首先我们要知道右侧快速入口是为什么高亮??因为当watch()监控到scrollY的变化了的时候 将scrollY的值和listHeight ...
- python修改文件
文档username.txt 将文件中密码123456改成67890: 方法一:(简单粗暴) 1.打开文件 2.读出数据 3.修改数据 4.清空原来文件,将新的内容写进去 f = open('user ...
- Spring Framework基础学习
Spring Framework基础学习 Core support for dependency injection,transaction management,web applications,d ...