一、安装启动keepalived

1、下载keepalived

在centos系统中,用wget下载最新版本:

mkdir tool

cd tool

wget https://www.keepalived.org/software/keepalived-2.0.19.tar.gz

2、解压安装keepalived

cd tool 

tar -zxvf keepalived-2.0.19.tar.gz -C /usr/local/

yum install -y openssl openssl-devel(需要安装一个软件包)

cd keepalived-2.0.19/ && ./configure --prefix=/usr/local/keepalived

make && make install

3、把keepalived服务配置成开机自启动

将keepalived安装成Linux系统服务,因为没有使用keepalived的默认安装路径(默认路径:/usr/local),安装完成之后,需要做一些修改工作:
首先创建文件夹,将keepalived配置文件进行复制:
mkdir /etc/keepalived
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
然后复制keepalived脚本文件:
#高版本init.d不存在,可以忽略
cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
ln -s /usr/local/sbin/keepalived /usr/sbin/
ln -s /usr/local/keepalived/sbin/keepalived /sbin/
可以设置开机启动:chkconfig keepalived on,到此我们安装完毕!

4、启动关闭重启

service keepalived start 
service keepalived stop
service keepalived restart

5、查看安装启动状态,如下启动成功

systemctl status keepalived.service

二、配置keepalived+nginx实现高可用

1、假设keepalived,nginx安装成功,我们开始配置高可用,首先编辑我们时候copy到etc目录的配置文件

vim /etc/keepalived/keepalived.conf

2、在原配置文件keepalived.conf,增加如下画线配置,保存重启keepalived

! Configuration File for keepalived

vrrp_script chk_nginx {
script "/etc/keepalived/nginx_check.sh" #运行脚本,脚本内容下面有,就是起到一个nginx宕机以后,自动开启服务
interval 2 #检测时间间隔
weight -20 #权重
}
# 定义虚拟路由,VI_1 为虚拟路由的标示符,自己定义名称
vrrp_instance VI_1 {
state MASTER #来决定主从
  interface ens33 # 绑定虚拟 IP 的网络接口,根据自己的机器填写
virtual_router_id # 虚拟路由的 ID 号
mcast_src_ip 192.168.2.130 #填写本机ip
priority # 节点优先级,主要比从节点优先级高
nopreempt # 优先级高的设置 nopreempt 解决异常恢复后再次抢占的问题
advert_int # 组播信息发送间隔,两个节点设置必须一样,默认 1s
authentication {
auth_type PASS
auth_pass
}
# 将 track_script 块加入 instance 配置块
track_script {
chk_nginx #执行 Nginx 监控的服务
} virtual_ipaddress {
192.168.2.222 # 虚拟ip,也就是解决写死程序的ip怎么能切换的ip,也可扩展,用途广泛。可配置多个。
}
}

3、nginx_check.sh文件存在/etc/keepalived目录下/etc/keepalived/nginx_check.sh,内容如下

#!/bin/bash
A=`ps -C nginx 每no-header |wc -l`
if [ $A -eq ];then
/usr/local/nginx/sbin/nginx
sleep
if [ `ps -C nginx --no-header |wc -l` -eq ];then
killall keepalived
fi
fi

4、如果配置成功,手动 关闭nginx进程,keepalived也会帮我们自动启动 /usr/local/nginx/sbin/nginx,说明配置成功

注意,如果启动keepalived没有报错,但nginx启动失败,大部分原因可能 nginx_check.sh没有权限,也可能是文档格式错误

解决方法:https://blog.csdn.net/chuchanlu6163/article/details/100874598

5、从机也要安装相同的配置的keepalived+nginx

! Configuration File for keepalived

global_defs {
router_id bhz006
} vrrp_script chk_nginx {
script "/etc/keepalived/nginx_check.sh"
interval 2
weight -20
} vrrp_instance VI_1 {
state BACKUP
interface eth7
virtual_router_id
mcast_src_ip 192.168.1.173
priority #优先级配置
advert_int
authentication {
auth_type PASS
auth_pass 111
} track_script {
chk_nginx
} virtual_ipaddress {
192.168.2.220 #主从要一致
}
}

6、我们可以测试在nginx出现问题的情况下,实现切换,这个时候我们只需要把nginx的配置文件进行修改,让其变得不可用,然后强杀掉nginx进程即可,发现也会实现自动切换服务器节点。

三、如何查看keepalived运行日志?

1、修改vim /etc/sysconfig/keepalived,最后一行为

KEEPALIVED_OPTIONS="-D -d -S 0"

2、修改vi /etc/rsyslog.conf 文件,在最后一行增加

local0.*                      /var/log/keepalived.log

3、重启rsyslog ,如果不知道如何重启rsyslog,首先ps -ef|grep rsyslog,找到该启动进程

然后,/usr/sbin/rsyslogd  -s stop 、/usr/sbin/rsyslogd,有时候用/usr/sbin/rsyslogd restart命令重启失效

4、然后重启keepalived

service keepalived stop

service keepalived start

或者

service keepalived restart

5、然后vim /var/log/keepalived.log就可以看到keepalived日志的的生成

centos安装与配置keepalived+nginx高可用的更多相关文章

  1. Nginx(四):Keepalived+Nginx 高可用集群

    Keepalived+Nginx 高可用集群 (主从模式) 集群架构图 安装keepalived [root@localhost ~]# yum install -y keepalived 查看状态 ...

  2. Keepalived+Nginx高可用实例

    Keepalived+Nginx高可用实例 注意事项: 1.VIP不需要在服务器网络配置文件中配置. 2.nginx主不可用时,需要kill掉nginx主的keepalived服务,这样才可以实现VI ...

  3. keepalived安装与配置,组建高可用服务器

    一.准备环境 linux系统:CentOS7 keepalived版本:keepalived-1.3.5.tar.gz keepalived下载地址:http://www.keepalived.org ...

  4. LVS+KeepAlived+Nginx高可用实现方案

    文章目录概念LVSKeepAlived为什么要使用准备软件安装KeepAlived 安装源码安装yum安装服务启动.重启.关闭安装ipvsadmnginx安装防火墙(iptables)防火墙配置(方式 ...

  5. Keepalived+nginx高可用

    这种方法会把Keepalived进程结束掉,在教育机构学习到的方法,我个人对这种方法不认可. 参考: https://www.cnblogs.com/gshelldon/p/14504236.html ...

  6. Keepalived+Nginx高可用集群

    Keepalived简介 Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替 ...

  7. keepalived+nginx 高可用集群

    一.什么是高可用?   nginx做负载均衡,能达到分发请求的目的,但是不能很好的避免单点故障. 1.nginx集群单点问题 分发器宕机怎么处理? 假如nginx服务器挂掉了,那么所有的服务也会跟着瘫 ...

  8. keepalived+nginx高可用实现

    1.keepalived介绍 keepalived最初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了实现高可用的VRRP功能.keepalived除了能 ...

  9. linux下实现keepalived+nginx高可用

    1 nginx负载均衡高可用 1.1 什么是负载均衡高可用 nginx作为负载均衡器,所有请求都到了nginx,可见nginx处于非常重点的位置,如果nginx服务器宕机后端web服务将无法提供服务, ...

随机推荐

  1. websrom编译器

    webstorm less环境配置 备注: 安装node后,在命令行输入npm install -g less 即可安装less,打开webstorm setting-Tools-FileWatche ...

  2. pymongo的基本操作和使用--练习

    1.将MongoDB注册到电脑中 安装好MongoDB之后,如何使用MongoDB呢?来到安装目录D:/MongoDB/bin会有如下列表: 其中,mongod.exe是服务端,mongo.exe是客 ...

  3. EntityFramework Core 3多次Include导致查询性能低之解决方案

    前言 上述我们简单讲解了几个小问题,这节我们再来看看如标题EF Core中多次Include导致出现性能的问题,废话少说,直接开门见山. EntityFramework Core 3多次Include ...

  4. 程序员的算法课(14)-Hash算法-对海量url判重

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/m0_37609579/article/de ...

  5. Linux之find命令

    1.find命令的作用 主要用于操作系统文件.目录的查找. 2.find命令常用参数 -name #按文件名查找 -type #按文件类型查找:b/p/c/p/l/f -size #但文件大小查找,G ...

  6. PHP常用字符串函数总结

    PHP语言中的字符串函数也是一个比较易懂的知识.今天我们就为大家总结了将近12种PHP字符串函数,希望对又需要的朋友有所帮助,增加读者朋友的PHP知识库. 1.查找字符位置函数 strpos($str ...

  7. 【nodejs原理&源码赏析(5)】net模块与通讯的实现

    [摘要] Node.js net模块的原理及使用 示例代码托管在:http://www.github.com/dashnowords/blogs 一. net模块简介 net模块是nodejs通讯功能 ...

  8. Python自带又好用的代码调试工具Pdb学习笔记

    返璞归真 这几天项目有一个linux下部署数据库的操作,数据库使用python进行初始化安装.然后问题来了,由于linux服务器涉及安全要求,除了代码以来的Python3.6版本外不允许安装其他插件与 ...

  9. Spring Quartz定时任务设置

    这里主要记录一下定时任务的配置,偏向于记录型的一个教程,这里不阐述Quartz的原理. 首先,在Spring配置文件里配置一个自己写好的一个包含执行任务方法的一个类. <bean id=&quo ...

  10. 七种CSS左侧固定,右侧自适应两栏布局

    一 两栏布局基本HTML和CSS 首先创建基本的HTML布局和最基本的样式. 基本的样式是,两个盒子相距20px, 左侧盒子宽120px,右侧盒子宽度自适应 <div class="w ...