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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章