您的位置:首页 > 运维架构 > Nginx

HA+nginx高可用环境搭建

2017-01-09 17:17 751 查看
一 实验环境:
1 准备两台liunx主机,在各自的/etc/hosts/里面添加两行内容
192.168.141.131 master(主机名)
192.168.141.132 slave (主机名)
每个服务器上面有两块网卡,其中eth1作为两台机器间的心跳线,eth0用作普通的通信用(我这里用一块网卡做实验)

2 把两台主机的iptables 和selinux关闭

3 安装软件 yum install heartbeat -y 和yum install libnet -y

二 配置文件更改
(master)

1 cd /usr/share/doc/heartbeat-3.0.4/
cp authkeys ha.cf haresources /etc/ha.d/
进入到/etc/ha.d/这个目录下,编辑 authkeys
vim authkeys
auth 3 (用第三种方式认证)
#1 crc
#2 sha1 HI!
3 md5 Hello! (加密)
更改权限
chmod 600 authkeys (是当前用户可以执行)

2
编辑 haresources这个配置文件
添加一条这个master 192.168.141.110/24/eth0:0 nginx (master 是指当前主机的主机名 这个ip地址是自定义的如果在实际环境中,这个一般是公网ip地址,后面可以添加别的服务,例如:mysql apache等)

3 编辑ha.cf配置文件
vi ha.cf //改为如下内容:
debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility    local0
keepalive 2    #多长时间探测一次
deadtime 30   #  如果30秒ping不通了,就认为死掉了
warntime 10    #10秒ping不通会发出警告
initdead 60    #防止对方服务器重启预留一段时间
udpport 694   #心跳线通讯端口
ucast eth1 192.168.141.198(slave的主机地址)
auto_failback on
node    master     #你的主服务器的主机名(不能写错)
node    slave       #从的服务器的主机名
ping 192.168.141.1 #(仲裁地址,判断谁死谁活)
respawn hacluster /usr/lib64 /heartbeat/ipfail(检测网络的连通性)如果系统是32位则不用加这个64


(slave)
把三个文件拷贝到从上面
scp authkeys haresources ha.cf slave:/etc/ha.d/
只更改ha.cf这个配置文件
ucast eth0 192.168.141.131 (主服务器的ip)

三 安装nginx

由于我们这里测试的是ngInx,所有两台机器需要安装nginx软件包,这里我们用yum 安装
yum install nginx 安装完之后,在两台机器上做些设置
主上:echo "master1111111111111111" > /usr/share/nginx/html/index.html
从上:echo "slave22222222222222222" > /usr/share/nginx/html/index.html
这样有助于我们看的明白

四 启动服务
/etc/init.d /heartbeat start

先启动主的heartbeat服务,然后再启用从的,nginx服务不用手动启动,会跟随heartbeat 这个服务自己启动
最后,用ifconfig -a 或者ip add 查看,如果看到etho0:0 这个ip ,代表成功.

五 测试

在主上面加一条禁止ping的,iptables -A INPUT -p icmp -j DROP
看是否从的nginx服务会自动启动,如果可以自己启动,则代表成功,
注意:当主的heartbeat 服务停止时 ,它上面的nginx服务同样会停止,当主的heartbeat服务恢复启动时,从的hearbeat服务会自动停止,nginx服务也会停止。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ha 高可用