Nginx+keepalived
keepalived安装
sudo systemctl stop iptables
sudo yum remove -y java-1.8.0-openjdk-headless.x86_64 mariadb-libs
sudo yum update -y
sudo su
sed -i 's/PasswordAuthentication.*/PasswordAuthentication no/g' /etc/ssh/sshd_config
systemctl restart sshd
exit
exit
sudo alternatives --install /usr/bin/java java /usr/local/java/jdk1.8.0_152/bin/java 1
sudo update-alternatives --auto java
sudo update-alternatives --config java
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
sudo rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
sudo yum --enablerepo=elrepo-kernel install -y kernel-ml
sudo grub2-set-default 0
echo "net.core.default_qdisc=fq" |sudo tee -a /etc/sysctl.d/99-bbr.conf
echo "net.ipv4.tcp_congestion_control=bbr" |sudo tee -a /etc/sysctl.d/99-bbr.conf
sudo sysctl -p
sudo wget 'http://packages.hk.batmobi.cn/zhizhen.repo' -O /etc/yum.repos.d/zhizhen.repo
sudo yum install -y keepalived nginx nginx-vts-exporter
sudo systemctl enable nginx-vts-exporter
sudo systemctl start nginx-vts-exporter
sudo pmm-admin add external:instances nginx-vts $(hostname -I|awk '{print $1}'):9913=$(hostname)
sudo su
echo "METRIC=100" |sudo tee -a /etc/sysconfig/network-scripts/ifcfg-ens160
cat > /etc/sysconfig/network-scripts/ifcfg-ens192 <<EOF
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens192
DEVICE=ens192
ONBOOT=yes
EOF
reboot
sudo systemctl start nginx-vts-exporter
sudo pmm-admin add external:instances nginx-vts $(hostname -I|awk '{print $1}'):9913=$(hostname)
需要该id 密码以及 IP
keepalived.conf
! Configuration File for keepalived
global_defs {
enable_script_security
router_id pmediabuynginx01.hk.batmobi.cn
}
vrrp_script check_nginx {
script "/etc/keepalived/check_nginx.sh"
interval 10
weight 50
user root root
}
vrrp_instance VI_153 {
state MASTER
interface ens160
virtual_router_id 153
priority 200
advert_int 1
authentication {
auth_type PASS
auth_pass G2wYZLH
}
track_script {
check_nginx
}
track_interface {
ens192
}
virtual_ipaddress {
209.177.84.153/25 dev ens192
}
virtual_routes {
default via 209.177.84.129 dev ens192 metric 10
}
}
vrrp_instance VI_184 {
state BACKUP
interface ens160
virtual_router_id 184
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass KfaGKvt
}
track_script {
check_nginx
}
track_interface {
ens192
}
virtual_ipaddress {
209.177.84.184/25 dev ens192
}
virtual_routes {
default via 209.177.84.129 dev ens192 metric 20
}
}
check_nginx.sh
!/bin/bash
status=$(ps -C nginx --no-heading|wc -l)
if [ "${status}" = "0" ]; then
#bash /etc/init.d/openresty start
systemctl start nginx
status2=$(ps -C nginx --no-heading|wc -l)
if [ "${status2}" = "0" ]; then
systemctl stop keepalived
fi
fi