keepalived+nginx(shell)

nginx

自己上传nginx包(也可以使用压缩包的位置)
#!/bin/bash
#关闭防火墙,selinux
systemctl stop friewalld.service
setenforce 0

#安装依赖
yum -y install gcc gcc-c++ pcre-devel zlib-devel openssl-devel &>/dev/null
echo "nginx安装依赖完成!!!!!"

#解压
tar zxf nginx-1.12.2.tar.gz
echo "解压完成"
cd nginx-1.12.2
echo "nginx-1.12.2路径进入成功!!!!!!"
./configure &>/dev/null
echo "环境监察ok"
make &>/dev/null
make install &>/dev/null
echo "源码安装ok"
#修改nginx界面
sed -i '14s/Welcome to nginx!/nginx1!!!/' /usr/local/nginx/html/index.html
echo "nginx update ok!!!!"

#nginx编辑
sed -i '/#gzip/a    upstream webs{\n server 10.0.0.35:8080;\n server 10.0.0.35:18080;\n}' /usr/local/nginx/conf/nginx.conf
sed -i '49s/index  index.html index.htm;/index  index.html index.jsp index.htm;/' /usr/local/nginx/conf/nginx.conf
sed -i '/index  index.html index.jsp index.htm;/a proxy_pass http://webs;' /usr/local/nginx/conf/nginx.conf
echo "nginx.conf 配置文件ok"
/usr/local/nginx/sbin/nginx &>/dev/null
/usr/local/nginx/sbin/nginx -s reload
echo "nginx启动成功,请在测试页测试nginx!"

keepalived

首先安装nginx,然后配置nginx

A主机:
#!/bin/bash
#keepalived安装
yum -y install keepalived &>/dev/null
echo "keepalived 安装 ok"
rm -rf /etc/keepalived/keepalived.conf
echo "删除keepalived.cof 成功"
cat>>/etc/keepalived/keepalived.conf<<\EOF
! Configuration File for keepalived
global_defs {
   router_id 10.0.0.33  #(本机ip也就是做nginx的ip)
   script_user root
   enable_script_security
}
vrrp_script chk_nginx {
    script "/etc/keepalived/check_port.sh 80"
    interval 2
    weight -30
}
vrrp_instance VI_1 {
    state BACKUP
    interface ens33
    virtual_router_id 251
    priority 100   #(优先级) 
    advert_int 1
    mcast_src_ip 10.0.0.33  #(本机ip也就是做nginx的ip)
    nopreempt
    authentication {
        auth_type PASS
        auth_pass 11111111
    }
    track_script {
         chk_nginx
    }
    virtual_ipaddress {
        10.0.0.110  #(vip)
    }
}
EOF
echo ""
echo "keepalived.conf 编写成功"
cat>>/etc/keepalived/check_port.sh<<\EOF
CHK_PORT=$1
 if [ -n "$CHK_PORT" ];then
        PORT_PROCESS=`ss -lntp|grep $CHK_PORT|wc -l`
        if [ $PORT_PROCESS -eq 0 ];then
                echo "Port $CHK_PORT Is Not Used,End."
                systemctl stop keepalived.service
        fi
 else
        echo "Check Port Cant Be Empty!"
 fi
EOF
#让keepalived 默认可以使用stop停掉keepalived高可用
sed -i 's/KillMode=process/#KillMode=process/' /usr/lib/systemd/system/keepalived.service
systemctl  start keepalived.service

B主机:
#!/bin/bash
#keepalived安装
yum -y install keepalived &>/dev/null
echo "keepalived 安装 ok"
rm -rf /etc/keepalived/keepalived.conf
echo "删除keepalived.cof 成功"
cat>>/etc/keepalived/keepalived.conf<<\EOF
! Configuration File for keepalived
global_defs {
   router_id 10.0.0.34 #(本机ip也就是做nginx的ip)
   script_user root
   enable_script_security
}
vrrp_script chk_nginx {
    script "/etc/keepalived/check_port.sh 80"
    interval 2
    weight -30
}
vrrp_instance VI_1 {
    state BACKUP
    interface ens33
    virtual_router_id 251
    priority 90  #(优先级)
    advert_int 1
    mcast_src_ip 10.0.0.34  #(本机ip也就是做nginx的ip)
    nopreempt
    authentication {
        auth_type PASS
        auth_pass 11111111
    }
    track_script {
         chk_nginx
    }
    virtual_ipaddress {
        10.0.0.110 #(vip)
    }
}
EOF
echo ""
echo "keepalived.conf 编写成功"
cat>>/etc/keepalived/check_port.sh<<\EOF
CHK_PORT=$1
 if [ -n "$CHK_PORT" ];then
        PORT_PROCESS=`ss -lntp|grep $CHK_PORT|wc -l`
        if [ $PORT_PROCESS -eq 0 ];then
                echo "Port $CHK_PORT Is Not Used,End."
                systemctl stop keepalived.service
        fi
 else
        echo "Check Port Cant Be Empty!"
 fi
EOF
#让keepalived 默认可以使用stop停掉keepalived高可用
sed -i 's/KillMode=process/#KillMode=process/' /usr/lib/systemd/system/keepalived.service
systemctl  start keepalived.service
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值