首先安装 nginx
将 rpm 放入任意地址 我这里放的是 cd /opt/work/
然后全部解压
rpm -Uvh *.rpm --force --nodeps
解压完毕之后
下一步解压
tar -zxvf nginx-1.10.3.tar.gz
cd nginx-1.10.3
./configure --prefix=/usr/local/nginx
make && make install
修改/usr/local/nginx/conf/nginx.conf 配置文件
关闭防火墙:centos7 默认用的是 firewall
systemctl stop firewalld.service
I.启动重启 Nginx
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx
重启
/usr/local/nginx/sbin/nginx -s reload
安装 keepalived
cd /usr/local/src
tar -zxvf keepalived-1.2.18.tar.gz
cd keepalived-1.2.18
./configure --prefix=/usr/local/keepalived
这一步走的时候可能报错 如果报错 openssl 和 popt
Openssl 就把这些安装
报错 popt 只安装
完成之后 make 一下
rpm包下载链接:
链接:https://pan.baidu.com/s/1RC3idNFnnmYhwfMe5Axuag
过期了就私信我
make && make install
I.安装 keepalived 服务
默认目录是/usr/local
mkdir /etc/keepalived
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
复制到默认路径: # cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
这句不用 ln -s /usr/local/sbin/keepalived /usr/sbin/
ln -s /usr/local/keepalived/sbin/keepalived /sbin/
如果存在先删除 find keep* rm keep
cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
如下是配置文件: # vi /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id master
}
vrrp_script chk_nginx {
script "/etc/keepalived/nginx_check.sh"
interval 2
weight -20
}
vrrp_instance VI_1 {
state MASTER
interface eno16777736 # ifconfig 查看 IP 对应的网卡 ,ip addr 也可以查看
virtual_router_id 51
mcast_src_ip 10.1.125.152 #localIP
priority 100
nopreempt
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
chk_nginx
}
virtual_ipaddress {
10.1.125.244#vip
} }
II.配置监控
vi /etc/keepalived/nginx_check.sh
#!/bin/bash
A=`ps -C nginx –no-header |wc -l`
if [ $A -eq 0 ];then
/usr/local/nginx/sbin/nginx
sleep 2
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
killall keepalived
fi
fi
给 keepalived 授权
授权
chmod +x /etc/keepalived/nginx_check.sh
启动 keepalived
service keepalived start
Ip addr 查看是否有 vip