Keepalived + nginx的安装部署

简介:

主机:IP->192.168.88.60 nginx已安装OK(省略)
备机:IP->192.168.88.80 nginx已安装OK(省略)
VIP:192.168.88.20 

第一步:主备一起安装keepalived    
yum install -y keepalived

第二步:配置/etc/keepalived/keepalived.conf
主机192.168.88.60配置如下:

! Configuration File for keepalived

global_defs {
   notification_email {  #发生邮件目标地址

     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc   #发生邮件源地址

   smtp_server 192.168.200.1 #SMTP 服务器地址
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}
   vrrp_script chk {
   script "/etc/chk_nginx.sh"   
   interval 2     #间隔多久检测脚本        
   weight -20     #脚本返回结果非0,优先级减20
}
vrrp_instance VI_1 {
    state BACKUP   #主的也设置备,以为主备取决于优先级
    interface eth0  #对应网卡
    virtual_router_id 51
    priority 90    #优先级,谁大谁是主(取值1-255之间)

    #nopreempt     #开启这个参数当优先级大的主服务恢复了也不抢占,以防跳来跳去  

    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111   #密码
    }
    track_script {                   
        chk     # 对应上面的监测脚本模块
    }
    virtual_ipaddress {
        192.168.88.20  #VIP地址
    }
}
==============================================================

备机配置: 192.168.88.80

! Configuration File for keepalived

global_defs {
   notification_email {  #发生邮件目标地址

     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc   #发生邮件源地址

   smtp_server 192.168.200.1 #SMTP 服务器地址
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}
   vrrp_script chk {
   script "/etc/chk_nginx.sh"   
   interval 2     #间隔多久检测脚本        
   weight -20     #脚本返回结果非0,优先级减20
}
vrrp_instance VI_1 {
    state BACKUP   #设置备用状态
    interface eth0  #对应网卡
    virtual_router_id 51
    priority 80    #优先级(90-20=70 小于80,如果主服务没有问题,优先级为90,如果有问题优先级变为70,备的设置为80,80>70 所以备成主接管)
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111   #密码
    }
    track_script {                   
        chk     # 对应上面的监测脚本模块
    }
    virtual_ipaddress {
        192.168.88.20  #VIP地址
    }
}

#注意不要少大括号哦

============================================

 

第三步:编写/etc/chk_nginx.sh脚本内容

#!/bin/bash
nginx_pid_count=`lsof -i :80 |wc -l`
if [ ${nginx_pid_count} -eq 0 ];then
  exit 1
else
  exit 0
fi
fi

给脚本权限 chmod +x /etc/chk_nginx.sh

 

第四步:启动主备keepalived
Service keepalived start
ip addr 查看vip是否起来了

#主服务器上关闭服务

/etc/init.d/nginx stop
#在从服务器上查看VIP有无绑定

ip addr

 

 

备注:

1 如果没有成功检测是不是{ }少写了

2 sh 测试监控脚本是否正确













本文转自younger00851CTO博客,原文链接:http://blog.51cto.com/younger008/1905652 ,如需转载请自行联系原作者




相关文章
|
4月前
|
弹性计算 运维 监控
快速部署 Nginx 社区版
Nginx是一个高性能的HTTP和反向代理服务器。Nginx在计算巢上提供了社区版服务,您无需自行配置云主机,即可在计算巢上快速部署Nginx服务、实现运维监控,从而方便地基于Nginx搭建您自己的应用。本文介绍使用如何通过计算巢快速部署Nginx社区版。
快速部署 Nginx 社区版
|
7天前
|
应用服务中间件 Linux 网络安全
nginx安装部署ssl证书,同时支持http与https方式访问
为了使HTTP服务支持HTTPS访问,需生成并安装SSL证书,并确保Nginx支持SSL模块。首先,在`/usr/local/nginx`目录下生成RSA密钥、证书申请文件及自签名证书。接着,确认Nginx已安装SSL模块,若未安装则重新编译Nginx加入该模块。最后,编辑`nginx.conf`配置文件,启用并配置HTTPS服务器部分,指定证书路径和监听端口(如20000),保存后重启Nginx完成部署。
166 7
|
5月前
|
Java 应用服务中间件 Shell
Nginx+Keepalived+Tomcat 实现Web高可用集群
Nginx+Keepalived+Tomcat 实现Web高可用集群
147 0
|
3月前
|
前端开发 JavaScript 应用服务中间件
使用nginx部署网站
使用nginx部署网站
|
3月前
|
JavaScript 应用服务中间件 nginx
nginx部署vue项目
本文介绍了将Vue项目部署到Nginx的步骤,包括构建Vue项目、上传dist文件夹到服务器、安装Nginx、配置Nginx代理静态文件以及重启Nginx,确保了Vue应用可以通过域名或IP地址访问。
173 1
|
3月前
|
前端开发 JavaScript 应用服务中间件
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
本文是一篇详细的教程,介绍了如何在Linux系统上安装和配置nginx,以及如何将打包好的前端项目(如Vue或React)上传和部署到服务器上,包括了常见的错误处理方法。
877 0
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
|
3月前
|
Kubernetes 应用服务中间件 nginx
k8s基础使用--使用k8s部署nginx服务
本文介绍了Kubernetes中核心概念Deployment、Pod与Service的基本原理及应用。Pod作为最小调度单元,用于管理容器及其共享资源;Deployment则负责控制Pod副本数量,确保其符合预期状态;Service通过标签选择器实现Pod服务的负载均衡与暴露。此外,还提供了具体操作步骤,如通过`kubectl`命令创建Deployment和Service,以及如何验证其功能。实验环境包括一台master节点和两台worker节点,均已部署k8s-1.27。
232 1
|
4月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
4月前
|
应用服务中间件 nginx Docker
docker应用部署---nginx部署的配置
这篇文章介绍了如何使用Docker部署Nginx服务器,包括搜索和拉取Nginx镜像、创建容器并设置端口映射和目录映射,以及如何创建一个测试页面并使用外部机器访问Nginx服务器。
|
3月前
|
监控 应用服务中间件 网络安全
部署Django应用:使用Gunicorn和Nginx构建高效的生产环境
部署Django应用:使用Gunicorn和Nginx构建高效的生产环境
185 0