搭建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 一.前言: 在互联网上面,网站为用户提供原始的内容访问,同时为用户提供交互操作.提供稳定可靠的服务,可以给用户带 ...
随机推荐
- 上传文件报413 Request Entity Too Large错误解决办法
产生这种原因是因为服务器限制了上传大小 1.nginx服务器的解决办法 修改nginx.conf的值就可以解决了 将以下代码粘贴到nginx.conf内 client_max_body_size 20 ...
- AI移动,缓慢转身设置(针对AI Character)
AICharacter自身: Use Controller Rotation Yaw设为False Auto Possess AI 设为 Placed in World or Spawned Char ...
- JMH简介
JMH是新的microbenchmark(微基准测试)框架(2013年首次发布).与其他众多框架相比它的特色优势在于,它是由Oracle实现JIT的相同人员开发的.特别是我想提一下Aleksey Sh ...
- es的调优
3.1.分片查询方式 当前的图片中有5个主分片,5个副本:这对于es的集群来说,这种配置是非常常见的: 但是问题来了,当我们的客户端做查询的时候,程序会向主分片发送请求还是副本发送请求? 还是说直接去 ...
- Linux中的atim、mtime、ctime
- Linux中的atime.mtime.ctime 一.文件中的atime.mtime.ctime 1.含义及各种事件标记的显示方法 atime:最近一次访问文件的时间用ls -lu看到的时间为at ...
- delphi自定义事件处理
http://www.cnblogs.com/ywangzi/archive/2012/09/06/2673414.html delphi自定义事件处理 为什么我们点击按钮,就会执行按钮的oncl ...
- 类HashMap
/* * Map集合的特点 * 将键映射值的对象,一个映射不能包含重复的值:每个键最多只能映射到一个值 * * Map集合和Collection集合的区别? * Map集合存储元素是成对出现的,Map ...
- 分享:陆行鸟BGM合集
第39首是原版哦 https://pan.baidu.com/mbox/homepage?short=pMkAqhX
- Jmeter之Json表达式关联
Jmeter使用中,通常用的最多的是正则表达式和Xpath表达式,但是现在大多数网站都用的Json返回数据,而且数据还特长的那种,作为合格的测试人员也要适应技术潮流发展,下面介绍利用Json Extr ...
- 【HANA系列】SAP HANA DB 和SAP HANA studio version查看
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA DB 和SAP ...