安装nginx和keepalived

安装nginx和keepalived
安装nginx
yum -y install pcre-devel
yum -y install openssl openssl-devel
获取压缩包
wget http://nginx.org/download/nginx-0.8.33.tar.gz
解压
tar -zxvf nginx-0.8.33.tar.gz -C /usr/local/nginx-0.8.33
检查配置文件
cd nginx-0.8.33
./configure --prefix=/usr/local/nginx
make
make install

安装Nginx时报错
./configure: error: the HTTP rewrite module requires the PCRE library.
安装pcre-devel解决问题
yum -y install pcre-devel
错误提示:./configure: error: the HTTP cache module requires md5 functions
from OpenSSL library. You can either disable the module by using
–without-http-cache option, or install the OpenSSL library into the system,
or build the OpenSSL library statically from the source with nginx by using
–with-http_ssl_module --with-openssl= options.
解决办法:
yum -y install openssl openssl-devel

启动nginx
cd /root/apps/nginx/sbin
./nginx -s start
./nginx -s stop

keepalived安装
./configure --prefix=/root/apps/keepalived
make
make install
添加service服务
cd /root/apps/keepalived/sbin
cp ./keepalived /usr/sbin/
cd /root/apps/keepalived/etc/rc.d/init.d
cp ./keepalived /etc/init.d/
cd /root/apps/keepalived/etc/sysconfig
cp ./keepalived /etc/sysconfig/
mkdir -p /etc/keepalived
cd /root/apps/keepalived/etc/keepalived
cp ./keepalived.conf /etc/keepalived/
chmod +x /etc/init.d/keepalived
设置开机自起
chkconfig --add keepalived
chkconfig keepalived on
cd /etc/keepalived
vi keepalived.conf
#虚拟路由
vrrp_instance VI_1 {
state MASTER #主 主节点用master 备节点backup
interface eth0 #绑定虚拟ip的我那个络接口
virtual_router_id 51 #VRRP组名 两个节点必须设置为一样 来指明各个节点属于同一个VRRP组
priority 100 #节点优先级 1-254 备节点必须必主节点优先级低
advert_int 1 #组播信息发送间隔 两个节点必须设置为一样
authentication { #设置验证信息 两个节点必须设置为一样
auth_type PASS
auth_pass 1111
}
virtual_ipaddress { #指定虚拟ip 两个节点必须设置为一样
192.168.200.16/24 #如果两个nginx的ip分别是 61,62 在同一网段即可
}
}
vrrp_instance VI_1 {
state BACKUP #备
interface eth0
virtual_router_id 51
priority 99
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.200.16/24 #如果两个nginx的ip分别是 61,62 在同一网段即可
}
}

ip addr 查看ip地址 查看两个地址 一个网卡可以指定两个ip的

配置keepalived的心跳检查
keepalived和nginx并不耦合,但是keepalived提供一个机制 让用户自定义一个脚本去检查自己的程序,返回状态给keepalived就可以了

vrrp_script chk_health{
script “[[ps -ef|grep nginx|grep -v grep|wc -l -ge 2 ]] && exit 0 ||exit 1”
interval 1 #每隔一秒执行上述脚本
weight -2 #权重-2 宕机就会减少权重
}
#如果放生异常会调用 notify_master里面的脚本
track_script{
chk_health
}
notify_master “/usr/locale/keepalived/sbin/notify.sh master”
notify_backup “/usr/locale/keepalived/sbin/notify.sh backup”
notify_fault “/usr/locale/keepalived/sbin/notify.sh fault”

vi notify.sh
#!/bin/bash
case “$1” in
master)
/usr/local/nginx/sbin/nginx
exit 0
;;
backup)
/usr/local/nginx/sbin/nginx -s stop
/usr/local/nginx/nginx
exit 0
;;
fault)
/usr/local/nginx/nginx -s stop
exit;
;;
*)
echo “Usage:notify.sh(master backup fault)”
exit 1
;;
esac

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值