一,HAProxy安装部署
注意,严格安照顺序执行脚本,nginx要最后安装
脚本只需要改ip地址(有注释的)
登录控制面板:http://192.168.2.212:8888/haproxy 账号:admin 密码:123456
安装目录在 /usr/local/haproxy 配置的配置文件名:haproxy.cfg(在安装目录下)
#!/bin/bash
#安装部署HAProxy高可以代理
#oyddbc-原创 20211122-9.22systemctl stop firewalld.service
echo $?
systemctl disable firewalld.service
echo $?
setenforce 0
echo $?
sed -i '7s/.*/SELINUX=disabled/' /etc/sysconfig/selinuxcd /
wget https://src.fedoraproject.org/repo/pkgs/haproxy/haproxy-1.7.8.tar.gz/sha512/e1d65c8a4607c01d52628f36f8c7342096267130a0f949474746f571158e4f795281f78765004c214a0527f74ce180760f9cc910d3650d30026776076d721c0c/haproxy-1.7.8.tar.gz
tar -zxvf /haproxy-1.7.8.tar.gz
cd /haproxy-1.7.8
make TARGET=linux31
make install PREFIX=/usr/local/haproxy
cd /usr/local/haproxy/
touch haproxy.cfgecho global >> haproxy.cfg
echo log 127.0.0.1 local0 info >> haproxy.cfg
echo maxconn 10240 >> haproxy.cfg
echo daemon >> haproxy.cfg
echo >> haproxy.cfg
echo defaults >> haproxy.cfg
echo log global >> haproxy.cfg
echo mode http >> haproxy.cfg
echo timeout connect 5000 >> haproxy.cfg
echo timeout client 5000 >> haproxy.cfg
echo timeout server 5000 >> haproxy.cfg
echo timeout check 2000 >> haproxy.cfg
echo >> haproxy.cfg
echo listen http_front >> haproxy.cfg
echo bind 192.168.2.212:8888 >> haproxy.cfg #要更改的,为HAProxy的主机IP
echo mode http >>haproxy.cfg
echo option httplog >> haproxy.cfg
echo stats uri /haproxy >> haproxy.cfg
echo stats auth admin:123456 >> haproxy.cfg
echo stats refresh 5s >> haproxy.cfg
echo stats enable >> haproxy.cfg
echo >> haproxy.cfg
echo listen webcluster >> haproxy.cfg
echo bind 0.0.0.0:80 >> haproxy.cfg
echo option httpchk GET /index.html >> haproxy.cfg
echo balance roundrobin >> haproxy.cfg
echo server inst1 192.168.2.195:80 check inter 2000 fall 3 >> haproxy.cfg
#这两行为提供wed服务的nginx服务器IP
echo server inst2 192.168.2.206:80 check inter 2000 fall 3 >> haproxy.cfg/haproxy-1.7.8/haproxy -f /usr/local/haproxy/haproxy.cfg
echo $?
lsof -i:8888
echo $?
二,NFS的安装配置
运行此脚本,会在根目录生成一个 oyddbc 文件为共享目录,并创建一个index.html网页文件
需要修改的就是最长的那两行,将IP改为nginx服务器的ip地址
#!/bin/bash
#安装Nginx
#oyddbc-原创 20211122-11.41systemctl stop firewalld.service
echo $?
systemctl disable firewalld.service
echo $?
setenforce 0
echo $?
sed -i '7s/.*/SELINUX=disabled/' /etc/sysconfig/selinuxyum install -y rpc-bind nfs-utils
mkdir /oyddbc
chmod -R 777 /oyddbc
touch /oyddbc/index.html
echo '<h1>oydebadaicai</h1>' >> /oyddbc/index.htmlecho '/oyddbc/ 192.168.2.195(rw,no_root_squash,no_all_squash,sync)' >> /etc/exports
echo '/oyddbc/ 192.168.2.206(rw,no_root_squash,no_all_squash,sync)' >> /etc/exports
exportfs -r
systemctl start rpcbind
systemctl start nfs
showmount -e localhost
mount localhost:/oyddbc /mnt
运行过程图,那个 0 的意思是上一条命令执行正确,为 1 则是有问题
三,Nginx安装部署脚本
默认网页存放路径:/usr/share/nginx/html
#!/bin/bash
#安装Nginx
#oyddbc-原创 20211122-11.09systemctl stop firewalld.service
echo $?
systemctl disable firewalld.service
echo $?
setenforce 0
echo $?
sed -i '7s/.*/SELINUX=disabled/' /etc/sysconfig/selinuxsudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
echo $?
sudo yum install -y nginx
cd /usr/share/nginx/html
sudo systemctl start nginx.service
echo $?
sudo systemctl enable nginx.service
echo $?mount -t nfs 192.168.2.216:/oyddbc /usr/share/nginx/html #将nfs共享的文件挂载到网页目录,将其覆盖
成功后,直接打 HAProxy的IP地址,刷新会一直是这个,因为nfs把Nginx的网页文件都成一样的了,表面没有变,但每一次刷新都会切换让另一台提供服务