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