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高可用集羣的搭建。

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