帮助文档
专业提供香港服务器、香港云服务器、香港高防服务器租用、香港云主机、台湾服务器、美国服务器、美国云服务器vps租用、韩国高防服务器租用、新加坡服务器、日本服务器租用 一站式全球网络解决方案提供商!专业运营维护IDC数据中心,提供高质量的服务器托管,服务器机房租用,服务器机柜租用,IDC机房机柜租用等服务,稳定、安全、高性能的云端计算服务,实时满足您的多样性业务需求。 香港大带宽稳定可靠,高级工程师提供基于服务器硬件、操作系统、网络、应用环境、安全的免费技术支持。
服务器资讯 / 香港服务器租用 / 香港VPS租用 / 香港云服务器 / 美国服务器租用 / 台湾服务器租用 / 日本服务器租用 / 官方公告 / 帮助文档
centos7系统keepalived安装配置(服务器主备、负载均衡)
发布时间:2024-02-29 14:02:43   分类:帮助文档
centos7系统keepalived安装配置(服务器主备、负载均衡) 脚本 https://gitcode.net/zengliguang/nginx_keepalived.git 系统拓扑 安装keepalived 主备服务器上都需要安装 在线安装 yum install -y keepalived 离线安装 主服务器脚本 # 设置虚拟机ip、网卡命令、hostname(后期自动获取) master_ipaddress=192.168.11.54 backup_ipaddress=192.168.11.53 virtual_ipaddress=192.168.11.56 hostname=localhost.localdomain interface=ens33 #关闭防火墙 systemctl stop firewalld.service systemctl disable firewalld.service setenforce 0 #永久关闭 sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config #创建文件夹 mkdir /home/tuners -p # 拷贝到tuners路径下 \cp -r ./*keepalived* /home/tuners echo "拷贝完成" # 离线安装 cd /home/tuners/keepalived rpm -Uvh --force --nodeps *.rpm # 生成主服务器配置文件 cat > /etc/keepalived/keepalived.conf << EOF global_defs { router_id $hostname # 访问到主机,本机的hostname,需要修改 } vrrp_script chk_http_port { script "/usr/local/src/nginx_check.sh" # 检测脚本位置 interval 2 #(检测脚本执行的间隔) weight 2 # 权重 } vrrp_instance VI_1 { state MASTER # 备份服务器上将 MASTER 改为 BACKUP,需要修改 interface $interface # 网卡名字,使用ifconfig查看,需要修改 virtual_router_id 51 # 主、备机的 virtual_router_id 不能相同 priority 100 # 主、备机取不同的优先级,主机值较大,备份机值较小,一般主100从90 advert_int 1 # 每隔1秒发送心跳 authentication { auth_type PASS auth_pass 1111 } unicast_src_ip $master_ipaddress 自己ip unicast_peer { #单模式 $backup_ipaddress #另一个ip } virtual_ipaddress { $virtual_ipaddress #// VRRP H 虚拟地址,也可以绑定多个虚拟ip,需要修改 } } EOF # 生成备服务器配置文件 # cat > /etc/keepalived/keepalived.conf << EOF # global_defs { # router_id localhost.localdomain # 访问到主机,本机的hostname,需要修改 # } # vrrp_script chk_http_port { # script "/usr/local/src/nginx_check.sh" # 检测脚本位置 # interval 2 #(检测脚本执行的间隔) # weight 2 # 权重 # } # vrrp_instance VI_1 { # state BACKUP # 备份服务器上将 MASTER 改为 BACKUP,需要修改 # interface ens33 # 网卡名字,使用ifconfig查看,需要修改 # virtual_router_id 59 # 主、备机的 virtual_router_id 不能相同 # priority 90 # 主、备机取不同的优先级,主机值较大,备份机值较小,一般主100从90 # advert_int 1 # 每隔1秒发送心跳 # authentication { # auth_type PASS # auth_pass 1111 # } # virtual_ipaddress { # $virtual_ipaddress #// VRRP H 虚拟地址,也可以绑定多个虚拟ip,需要修改 # } # } # EOF # 生成监测脚本 # cat > /usr/local/src/nginx_check.sh << EOF # #!/bin/bash # A=\`ps -C nginx – no-header |wc -l\` # if [ \$A -eq 0 ];then # /usr/sbin/nginx #nginx启动路径 # sleep 2 # if [ \`ps -C nginx --no-header |wc -l\` -eq 0 ];then # killall keepalived # fi # fi # EOF cat > /usr/local/src/nginx_check.sh << EOF rm -rf ./tmp.log systemctl status nginx.service > ./tmp.log if cat tmp.log |grep "failed";then systemctl start nginx.service sleep 2 rm -rf ./tmp.log systemctl status nginx.service > ./tmp.log if cat tmp.log |grep "failed";then systemctl stop keepalived.service fi fi EOF # 启动keepalived systemctl enable keepalived.service systemctl restart keepalived.service # 查看keepalived systemctl status keepalived.service 备服务器脚本 # 设置虚拟机ip、网卡命令、hostname(后期自动获取) master_ipaddress=192.168.11.54 backup_ipaddress=192.168.11.53 virtual_ipaddress=192.168.11.56 hostname=localhost.localdomain interface=ens33 #关闭防火墙 systemctl stop firewalld.service systemctl disable firewalld.service setenforce 0 #永久关闭 sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config #创建文件夹 mkdir /home/tuners -p # 拷贝到tuners路径下 \cp -r ./*keepalived* /home/tuners echo "拷贝完成" # 离线安装 cd /home/tuners/keepalived rpm -Uvh --force --nodeps *.rpm # 生成主服务器配置文件 # cat > /etc/keepalived/keepalived.conf << EOF # global_defs { # router_id localhost.localdomain # 访问到主机,本机的hostname,需要修改 # } # vrrp_script chk_http_port { # script "/usr/local/src/nginx_check.sh" # 检测脚本位置 # interval 2 #(检测脚本执行的间隔) # weight 2 # 权重 # } # vrrp_instance VI_1 { # state MASTER # 备份服务器上将 MASTER 改为 BACKUP,需要修改 # interface ens33 # 网卡名字,使用ifconfig查看,需要修改 # virtual_router_id 51 # 主、备机的 virtual_router_id 不能相同 # priority 100 # 主、备机取不同的优先级,主机值较大,备份机值较小,一般主100从90 # advert_int 1 # 每隔1秒发送心跳 # authentication { # auth_type PASS # auth_pass 1111 # } # virtual_ipaddress { # $virtual_ipaddress #// VRRP H 虚拟地址,也可以绑定多个虚拟ip,需要修改 # } # } # EOF # 生成备服务器配置文件 cat > /etc/keepalived/keepalived.conf << EOF global_defs { router_id $hostname # 访问到主机,本机的hostname,需要修改 } vrrp_script chk_http_port { script "/usr/local/src/nginx_check.sh" # 检测脚本位置 interval 2 #(检测脚本执行的间隔) weight 2 # 权重 } EOF vrrp_instance VI_1 { state BACKUP # 备份服务器上将 MASTER 改为 BACKUP,需要修改 interface $interface # 网卡名字,使用ifconfig查看,需要修改 virtual_router_id 59 # 主、备机的 virtual_router_id 不能相同 priority 90 # 主、备机取不同的优先级,主机值较大,备份机值较小,一般主100从90 advert_int 1 # 每隔1秒发送心跳 authentication { auth_type PASS auth_pass 1111 } unicast_src_ip $backup_ipaddress 自己ip unicast_peer { #单模式 $master_ipaddress #另一个ip } virtual_ipaddress { $virtual_ipaddress #// VRRP H 虚拟地址,也可以绑定多个虚拟ip,需要修改 } } EOF # 生成监测脚本 # cat > /usr/local/src/nginx_check.sh << EOF # #!/bin/bash # A=\`ps -C nginx – no-header |wc -l\` # if [ \$A -eq 0 ];then # /usr/sbin/nginx #nginx启动路径 # sleep 2 # if [ \`ps -C nginx --no-header |wc -l\` -eq 0 ];then # killall keepalived # fi # fi # EOF cat > /usr/local/src/nginx_check.sh << EOF rm -rf ./tmp.log systemctl status nginx.service > ./tmp.log if cat tmp.log |grep "failed";then systemctl start nginx.service sleep 2 rm -rf ./tmp.log systemctl status nginx.service > ./tmp.log if cat tmp.log |grep "failed";then systemctl stop keepalived.service fi fi EOF # 启动keepalived systemctl enable keepalived.service systemctl restart keepalived.service # 查看keepalived systemctl status keepalived.service 服务器准备 虚拟机ip:192.168.11.56 主服务器:192.168.11.53 备服务器:192.168.11.54 配置文件修改 keepalived安装之后,在 etc 里面生成目录 keepalived,有文件 keepalived.conf /etc/keepalived 主服务器配置文件 global_defs { router_id localhost.localdomain # 访问到主机,本机的hostname,需要修改 } vrrp_script chk_http_port { script "/usr/local/src/nginx_check.sh" # 检测脚本位置 interval 2 #(检测脚本执行的间隔) weight 2 # 权重 } vrrp_instance VI_1 { state MASTER # 备份服务器上将 MASTER 改为 BACKUP,需要修改 interface ens33 # 网卡名字,使用ifconfig查看,需要修改 virtual_router_id 59 # 主、备机的 virtual_router_id 组播模式不能相同,单播模式必须相同 priority 100 # 主、备机取不同的优先级,主机值较大,备份机值较小,一般主100从90 advert_int 1 # 每隔1秒发送心跳 authentication { auth_type PASS auth_pass 1111 } unicast_src_ip 192.168.11.53 自己ip unicast_peer { #单模式 192.168.11.54 #另一个ip } virtual_ipaddress { 192.168.11.56 #// VRRP H 虚拟地址,也可以绑定多个虚拟ip,需要修改 } }  需要修改的内容如下 hostname 需要修改 hostname获取方式 :在命令行中输入hostname  网卡命令需要修改:interface这个字段的值 查看网卡信息:输入下面命令 ip a  下图中ens33就是网卡名字   虚拟ip需要修改:virtual_ipaddress 这个字段 备服务器配置文件 global_defs { router_id localhost.localdomain # 访问到主机,本机的hostname,需要修改 } vrrp_script chk_http_port { script "/usr/local/src/nginx_check.sh" # 检测脚本位置 interval 2 #(检测脚本执行的间隔) weight 2 # 权重 } vrrp_instance VI_1 { state BACKUP # 备份服务器上将 MASTER 改为 BACKUP,需要修改 interface ens33 # 网卡名字,使用ifconfig查看,需要修改 virtual_router_id 59 # 主、备机的 virtual_router_id 组播模式不能相同,单播模式必须相同 priority 90 # 主、备机取不同的优先级,主机值较大,备份机值较小,一般主100从90 advert_int 1 # 每隔1秒发送心跳 authentication { auth_type PASS auth_pass 1111 } unicast_src_ip 192.168.11.54 自己ip unicast_peer { #单模式 192.168.11.53 #另一个ip } virtual_ipaddress { 192.168.11.56 #// VRRP H 虚拟地址,也可以绑定多个虚拟ip,需要修改 } }  需要修改的内容跟主服务器脚本一样 监测脚本 主备切换的测试的两种方案 方案1:关服务器 方案2: 停nginx应用  监测脚本流程   监测脚本路径:/usr/local/src/nginx_check.sh 功能:检测nginx是否启动,如果停了就重启,如果还是起不来,就停止keepalived。 主备服务器上都需要配置 rm -rf ./tmp.log systemctl status nginx.service > ./tmp.log if cat tmp.log |grep "failed";then systemctl start nginx.service sleep 2 rm -rf ./tmp.log systemctl status nginx.service > ./tmp.log if cat tmp.log |grep "failed";then systemctl stop keepalived.service fi fi 启动keepalived systemctl start keepalived.service 重启keepalived systemctl restart keepalived.service  查询keepalived状态 systemctl status keepalived.service nginx部署 nginx web页面修改 nginx配置文件路径:/etc/nginx/nginx.conf,该配置文件引用了/etc/nginx/conf.d/default.conf 打开/etc/nginx/conf.d/default.conf配置文件可以看到html页面的路径 /usr/share/nginx/html 为路径 index.html为页面 进入到对应路径下 打开页面文件,修改信息,作为访问的服务器的标记,比如我服务器是54,我就在页面中加上54 具体访问呈现效果如下
香港云服务器租用推荐
服务器租用资讯
·广东云服务有限公司怎么样
·广东云服务器怎么样
·广东锐讯网络有限公司怎么样
·广东佛山的蜗牛怎么那么大
·广东单位电话主机号怎么填写
·管家婆 花生壳怎么用
·官网域名过期要怎么办
·官网邮箱一般怎么命名
·官网网站被篡改怎么办
服务器租用推荐
·美国服务器租用
·台湾服务器租用
·香港云服务器租用
·香港裸金属服务器
·香港高防服务器租用
·香港服务器租用特价