首页 > 代码库 > HA+nginx高可用环境搭建
HA+nginx高可用环境搭建
一 实验环境:
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服务也会停止。
本文出自 “渐行渐远” 博客,请务必保留此出处http://825536458.blog.51cto.com/4417836/1890476
HA+nginx高可用环境搭建