https://pan.baidu.com/s/13QpbS9-MGB4mSW1lgyaoqg //软件百度网盘链接

环境:
主Haproxy服务器 192.168.80.100  keepalived+Haproxy
备Haproxy服务器 192.168.80.101  keepalived+Haproxy
web服务器1 192.168.80.102  httpd(nginx、tomcat)
web服务器2 192.168.80.103  httpd
注:80.100和80.101要联网


在80.100虚拟机上

systemctl stop firewalld  //关闭防火墙
setenforce 0    //关闭监控
cd /etc/yum.repos.d/      //进入这个目录
cp back/* ./          //把back里面内容提取到上一个目录下
ls     //查看当前目录下有哪些内容

yum install -y epel-release    //安装
yum install ntp -y    //安装同步时间的命令
ntpdate time1.aliyun.com  //同步网络时间
yum install keepalived -y     //安装keepalived服务
cd     //回到root根目录
vi /etc/keepalived/keepalived.conf    //进入文件
        #删除所有内容添加以下内容
    ! Configuration File for keepalived
    global_defs {
                    route_id haproxy-01
         }
    vrrp_script haproxy {    定义一个热备脚本取名为haproxy
        script "/opt/haproxy.sh"    # 检测 haproxy 状态的脚本路径
        interval 2    # 检测时间间隔
        weight 2    # 如果条件成立,权重+2
    }
    vrrp_instance VI_1 {
            state MASTER
            interface ens32
            virtual_router_id 51
            priority 150
            advert_int 1
            authentication {
                    auth_type PASS
                    auth_pass 1111
            }
            track_script {    # 将 track_script 块加入 instance 配置块
                    haproxy    # 检查 HAProxy 服务是否存活
                    }
            virtual_ipaddress {
                    192.168.80.188
            }
    }
    :wq  //保存退出
scp /etc/keepalived/keepalived.conf [email protected]:/etc/keepalived/keepalived.conf    //传送文件到80.101虚拟机上
yes
自己设置的root密码

yum install lrz* -y    //安装上传软件
scp haproxy-1.5.15.tar.gz [email protected]:/root     //把haproxy压缩包发送到80.101虚拟机/root目录下
自己设置的root密码

tar xf haproxy-1.5.15.tar.gz -C /opt/     //解压haproxy压缩包
cd /opt/       //到/opt/下
ls     //查看当前目录下有哪些文件

cd /opt/haproxy-1.5.15/     //进入haproxy目录下
yum install -y \
pcre-devel \
bzip2-devel \
gcc \
gcc-c++ \
make
make TARGET=linux26 PREFIX=/usr/local/haproxy
make install PREFIX=/usr/local/haproxy
mkdir /etc/haproxy    //创建目录
useradd -s /sbin/nologin -M haproxy    //创建一个无法登陆系统的用户
cp examples/haproxy.cfg /etc/haproxy    //拷贝到/etc/haproxy
vi /etc/haproxy/haproxy.cfg    //进入文件


cd /opt/     //到/opt/目录下
vi /opt/haproxy.sh
    #!/bin/bash
    if [ $(ps -C haproxy --no-header | wc -l) -eq 0 ];then
                    /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg        //启动haproxy服务 
    fi
    sleep 2         //等待2秒
    if [ $(ps -C haproxy --no-header | wc -l) -eq 0 ];then
                    service keepalived stop
    fi
    :wq   //保存退出
chmod +x /opt/haproxy.sh    //给这个文件权限
cd /opt/haproxy-1.5.15/    //进入haproxy目录
cp examples/haproxy.init /etc/init.d/haproxy     //拷贝一份到 /etc/init.d/haproxy   
chmod +x /etc/init.d/haproxy      //给它权限
chkconfig --add haproxy
ln -s /usr/local/haproxy/sbin/haproxy  /usr/sbin/haproxy    //软链接
service haproxy start    //开启服务


在浏览器地址栏中输入http://192.168.80.100:8089/stats

cd /etc/haproxy/    //进入文件
scp haproxy.cfg [email protected]:/etc/haproxy/     //把haproxy.cfg这个文件发送到80.101虚拟机下的/etc/haproxy/  目录下
自己设置的root密码





在80.101虚拟机上

systemctl stop firewalld  //关闭防火墙
setenforce 0    //关闭监控
cd /etc/yum.repos.d/     //进入文件
cp back/* ./    //把当前目录下的back目录里面的内容弄到当前目录下
ls       //查看当前目录下的内容

yum install -y epel-release
yum install ntp -y    //安装同步时间的命令
ntpdate time1.aliyun.com  //同步网络时间
yum install keepalived -y
cd
vi /etc/keepalived/keepalived.conf
原本是这样

改route_id haproxy-01/state MASTER/priority 150效果是如下

tar xf haproxy-1.5.15.tar.gz -C /opt/      //解压压缩包
cd /opt/haproxy-1.5.15/      //进入目录
yum install -y \
pcre-devel \
bzip2-devel \
gcc \
gcc-c++ \
make
make TARGET=linux26 PREFIX=/usr/local/haproxy
make install PREFIX=/usr/local/haproxy
mkdir /etc/haproxy    //创建目录
useradd -s /sbin/nologin -M haproxy    //创建一个无法登陆系统的用户
cp examples/haproxy.cfg /etc/haproxy    //拷贝到/etc/haproxy
chmod +x /etc/init.d/haproxy       //给文件权限
chkconfig --add haproxy
ln -s /usr/local/haproxy/sbin/haproxy  /usr/sbin/haproxy      //软链接
service haproxy start   //启动服务

cd /opt/      //进入/opt/下
vi haproxy.sh
    #!/bin/bash
    #Filename:
    A=$(ip addr | grep 192.168.80.188/32 | grep -v grep | wc -l)
    if [ $A -gt 0 ]; then
                    service haproxy start
    else
                    service haproxy stop
    fi
    :wq  //保存退出

chmod +x haproxy.sh    //给文件权限



在80.102虚拟机上

systemctl stop firewalld  //关闭防火墙
setenforce 0    //关闭监控
yum install httpd -y //安装httpd服务
vi /etc/httpd/conf/httpd.conf //进入这个配置文件
找到ServerName www.example.com:80把#去掉
:wq //保存退出
cd /var/www/html/ //进入这个目录
echo "

server aa

" > index.html //在当前目录中创建index.html在里面添加server aa
systemctl start httpd //重启服务

在浏览器地址栏中输入192.168.80.102


在80.103虚拟机上

systemctl stop firewalld  //关闭防火墙
setenforce 0    //关闭监控
yum install httpd -y //安装httpd服务
vi /etc/httpd/conf/httpd.conf //进入这个配置文件
找到ServerName www.example.com:80把#去掉
:wq //保存退出
cd /var/www/html/ //进入这个目录
echo "

server bb

" > index.html //在当前目录中创建index.html在里面添加server aa
systemctl start httpd //重启服务

在浏览器地址栏中输入192.168.80.103

在浏览器地址栏中输入http://192.168.80.188:8089/stats

在浏览器地址栏中输入http://192.168.80.188