Centos6.8 环境部署Heartbeat+Nginx集群

一、实验环境

Centos6.8  防火墙关闭状态

 

二、安装nginx

tar xvf nginx
yum -y install pcre pcre-devel zlib zlib-devel
useradd -s /sbin/nologin -M nginx
cd nginx
./configure --prefix=/usr/local/nginx --user nginx --group nginx
make && make install

三、新建测试网页

cd /usr/local/nginx/html
rm -rf *
echo “aaaaaaaaaaaa” > index.html
cd /usr/local/nginx/html
rm -rf *
echo “bbbbbbbbbbb” > index.html

四、保证两台服务器时间同步

在这里我们将RS1作为ntp服务器,让另一台同步这台的时间:

yum -y install ntp

打开vim /etc/ntp.conf配置文件,按图中的提示修改:

service ntp start   #开启ntp服务
chkconfig ntp on    #开机启动

然后在RS2上配置

yum -y install ntp
ntpdate -u 10.10.10.11  #同步服务器时间

这样两台机器时间就可以同步了。

五、保证域名能够解析

分别配置RS1和RS2上的hosts文件,vim /etc/hosts 添加

10.10.10.11   www.centos1.com
10.10.10.12   www.centos2.com

六、更改主机名

hostname www.centos1.com    #在10.10.10.11上操作
hostname www.centos2.com    #在10.10.10.12上操作

七、安装Heartbeat

tar -xvf heartbeat.tar.gz
cd heartbeat
yum -y install *

以上操作必须在RS1和RS2都要操作。

八、修改RS1的配置文件

1、拷贝heartbeat的配置文件

cd /usr/share/doc/heartbeat-3.0.4
cp -a ha.cf authkeys haresources /etc/ha.d
cd /etc/ha.d

说明:

  • ha.cf    主配置文件
  • authkeys     认证文件
  • haresource      源文件
  • /etc/ha.d    这个目录是heartbeat的默认存放目录。

2、生成MD5码

dd if=/dev/random bs=512 count=1 | openssl md5
xxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxx 这个码就是生成的MD5码,这里就用xx代替。

3、修改authkeys

将auth改成3,在3中把上一步生成的MD5码,粘贴进去。

auth 3
1 crc
2 sha1 HI!
3 md5  xxxxxxxxxxxxxxxxxxxxxxxxxx

给authkeys配置权限:

必须是600,写成其他的heartbeat就会认为不安全,不让你启动。

chmod 600 authkeys

4、修改主配置文件ha.cf

bcast eth0  #选择那块网卡检测心跳
...
node www.centos1.com
node www.centos2.com

5、修改源配置文件haresources

在最后一行添加下面的脚本,此脚本的作用就是切换IP

www.centos1.com IPaddr::10.10.10.100/24/eth0:0      #等同于ifconfig配置

解析:主服务器名字+vip地址+网卡 ,注意两个冒号。

6、启动heartbeat

/etc/init.d/heartbeat start

九、修改RS2上的配置文件

在RS1上面把配置好的ha.cf、authkeys、haresources三个文件传到RS2即可。

cd /etc/ha.d
scp ha.cf authkeys haresources [email protected]:/etc/ha.d


复制完之后启动
/etc/init.d/heartbeat start

十、测试结果

在客户端上打开网页测试,输入网址:10.10.10.100 测试。

此时我们看到的内容是:aaaaaaaaa,因为RS1为主。

我们断开RS1的网卡,等10秒左右刷新,就会看到内容变成:bbbbbbb

说明:RS2通过心跳检测发现RS1已经下线,接管了nginx

当我们连接了RS1的网卡后,等待10秒左右,刷新网页有看到了aaaaaaaa

说明:RS1又接管了nginx

这样我们就实现了Heartbeat+Nginx高可用集群的搭建。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章