keepalived+Nginx 搭建高可用主从式集群

前言

这个东西弄了两天的时间,搞的头都大了,终于在小伙伴的帮助下,搭建出来了,下面记录一下搭建过程中的问题和步骤!

环境准备

keepalived安装之前,需要环境:wget、gcc、pcre、openssl、zlib、popt-devel 的支持
安装命令如下:

yum -y install wget 

yum install gcc-c++

yum install -y pcre pcre-devel

yum install -y openssl openssl-devel 

yum install -y zlib zlib-devel

yum install –y popt-devel

nginx的安装教程

keepalived安装和配置

  1. 解压keepalived到root目录下
tar -zxvf keepalived-2.0.18.tar.gz 
  1. 进入解压完成的keepalived-2.0.18目录并进行配置
cd keepalived-2.0.18

./configure -prefix=/usr/local/keepalived-2.0.18
  1. 编译和安装
	make && make install 
  1. 因为我安装路径非默认路径故需修改相关路径,保证keepalived能正常启动
修改 /etc/init.d/keepalived 文件

将 . /etc/sysconfig/keepalived 修改为
. /usr/local/keepalived-2.0.18/etc/sysconfig/keepalived**
  1. 将keepalived注册为服务
cp /root/keepalived-1.3.4/keepalived/etc/init.d/keepalived /etc/init.d/keepalived 

cp /root/keepalived-1.3.4/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
  1. 编辑配置文件(*最重要)
    我使用Xftp进行找个响应的配置文件进行编辑

主机配置文件

! 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 MASTER   #主机是MASTER  从机是BACKUP
    interface enp0s3   # 是你的网卡的名称,一定不要写错
    virtual_router_id 51
    priority 100      #优先级  主机100 从机90  越大优先级越高
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
		192.168.56.99    #VIP   是你自己随便设置的  但是不要重复并在一个网段
    }
}

从机配置文件

! 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 enp0s3
    virtual_router_id 51
    priority 90
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
		192.168.56.99  
    }
}

  1. 测试 启动keepalived
	service keepalived start 
  1. 查看keepalived的运行状态
	service keepalived status 

一定要看到running才算启动成功
keepalived+Nginx 搭建高可用主从式集群_第1张图片

  1. 把修改主机nginx的欢迎页面index.html,以区分主从
    keepalived+Nginx 搭建高可用主从式集群_第2张图片

  2. 测试我们搭建好的集群
    主机和从机nginx和keepalived都启动

	systemctl stop nginx.service
	
	service keepalived start

11 在浏览器上输入我们设置的VIP我的是192.168.56.99

keepalived+Nginx 搭建高可用主从式集群_第3张图片

  1. 很显然它优先选择了主机,然后我们主机keepalived服务关掉
	service keepalived stop

keepalived+Nginx 搭建高可用主从式集群_第4张图片
在主机宕机的情况,他会启动从机,至此我们主从式集群就搭建完毕了,下面是我遇到的一些问题!

查看网卡名称

  1. cd 到 /etc/sysconfig/network-scripts/ 目录下
	cd /etc/sysconfig/network-scripts/
  1. ls 查看目录下的文件
    在这里插入图片描述
  2. ifcfg-enp0s3就是我的网卡名称 ,但是在配置keepalived只写enp0s3就可以了

pcre-8.36/missing:行81: aclocal-1.14: 未找到命令
keepalived+Nginx 搭建高可用主从式集群_第5张图片

出现如上错误,只需执行 autoreconf -iv f命令。即可

你可能感兴趣的:(【Linux】)