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