keepalived+nginx配置文件及检查nginx服务的脚本

原地址:http://www.cnblogs.com/fansik/p/6248684.html

脚本一启动的速度要快一些哦,因为脚本二要判断两次以后才启动哎

这两个一般配合keepalived使用

脚本一:

#!/bin/bash
#author:fansik
#description:check nginx service

run=`ps -C nginx --no-header | wc -l`
if [ $run -eq 0 ]
then
        /etc/rc.d/init.d/nginx start
        sleep 3
fi

脚本二:

#!/bin/bash
#author:fansik
#description:check nginx service

count=0
for (( k=0; k<2; k++ ))
do
    check_code=$( curl --connect-timeout 3 -sL -w "%{http_code}\\n" http://localhost/index.html -o /dev/null )
    if [ "$check_code" != "200" ]; then
        count=$(expr $count + 1)
        sleep 3
        continue
    else
        count=0
        break
    fi
done
if [ "$count" != "0" ]; then
   /etc/init.d/nginx start
    exit 1
else
    exit 0
fi

keepalived的配置文件/etc/init.d/keepalived.conf:主配置文件如下,从配置文件将MASTER改成BACKUP,双主模型的时候在添加一个vrrp_instance VI_1主里面变成BACKUP,从里面变成MASTER,virtual_router_id变一下

! Configuration File for keepalived
global_defs {
   notification_email {
     [email protected]
   }
   notification_email_from [email protected]localhost
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}
vrrp_script chk_nginx {
    script "/etc/keepalived/nginx1.sh"
    interval 1
    weight -2
    fall 2
    rise 1
}

vrrp_script chk_notify {
    script "/etc/keepalived/chk_nginx.sh"
    interval 1
    weight -2
}
vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 51
    priority 99
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        10.10.10.250
    }
    track_script {
        chk_nginx
        chk_notify
    }
    notify_master "/etc/keepalived/notify.sh master"
    notify_backup "/etc/keepalived/notify.sh backup"
    notify_fault "/etc/keepalived/notify.sh fault"
}

通知脚本:/etc/keepalived/nodify.sh

#!/bin/bash
#author:fansik
#description:check nging status

vip=10.10.10.250
contact=‘[email protected]‘

notify() {
    mailsubject="`hostname` to be $1:$vip floating"
    mailbody="`date ‘+%F %H:%M:%S‘`: vrrp transition, `hostname` change to be $1"
    echo $mailbody | mail -s "$mailsubject" $contact
}

case "$1" in
    master)
        notify master
        exit 0
        ;;
    backup)
        notify backup
        exit 0
        ;;
    fault)
        notify fault
        exit 0
        ;;
    *)
        echo "Usage:`basename $0` {master|backup|fault}"
        exit 1
        ;;
esac

时间: 2024-11-05 11:55:43

keepalived+nginx配置文件及检查nginx服务的脚本的相关文章

nginx配置文件/usr/local/nginx/conf/nginx.conf

首先清空原来的/usr/local/nginx/conf/nginx.conf >/usr/lcoal/nginx/conf/nginx.conf  //把以下信息拷贝 user nobody nobody;worker_processes 2;error_log /usr/local/nginx/logs/nginx_error.log crit;pid /usr/local/nginx/logs/nginx.pid;worker_rlimit_nofile 51200;events{   

Nginx的编译安装及服务启动脚本

1.解决依赖关系 编译安装nginx需要事先需要安装开发包组"Development Tools"和 "Development Libraries".同时,还需要专门安装pcre-devel包:# yum -y install pcre-devel 2.添加系统用户,实现与之运行nginx的服务进程 groupadd -r nginx useradd -r -g nginx nginx id nginx    查看新建的用户id 3.下载源码包上传编译安装 (www

Nginx配置文件、优化详解

上篇<编译安装nginx>已将nginx安装好,这篇写nginx配置文件和部分优化参数. 查看nginx的配置文件路径,可以使用nginx配置文件检查命令nginx -t: 1 [[email protected] ~]# nginx -t 2 nginx: the configuration file /etc/nginx/nginx.conf syntax is ok #编译安装后的nginx配置文件路径3 nginx: configuration file /etc/nginx/ngin

nginx之旅第一篇:nginx下载安装、nginx配置文件详解、nginx默认网站

一.nginx下载安装 版本nginx 1.15.5 系统环境centos7.5(本机ip192.168.199.228) 关闭selinux 和防火墙firewall 1.下载 wget http://nginx.org/download/nginx-1.15.5.tar.gz -P /usr/src 2.安装 安装大概过程 配置---编译---安装 配置 1)检查环境 是否 满足安装条件 依赖解决 2)指定安装方式 配置文件 命令文件 各种文件放哪里 开启模块功能[内 置模块 三方模块] 3

linux下如何查找nginx配置文件的位置

nginx的配置放在nginx.conf文件中,一般我们可以使用以下命令查看服务器中存在的nginx.conf文件. locate nginx.conf /usr/local/etc/nginx/nginx.conf /usr/local/etc/nginx/nginx.conf.default ... 如果服务器中存在多个nginx.conf文件,我们并不知道实际上调用的是哪个配置文件,因此我们必须找到实际调用的配置文件才能进行修改. 查看nginx实际调用的配置文件 1.查看nginx路径

Nginx系列-6.配置Nginx的HTTPS

Nginx系列-6.配置Nginx的HTTPS 目录 - Nginx系列 Nginx系列-1.Linux下安装Nginx Nginx系列-2.配置LNMP(Linux.Nginx.MySQL.PHP)架构 Nginx系列-3.配置Nginx虚拟主机 Nginx系列-4.Nginx日志配置及日志切割 Nginx系列-5.配置Nginx的防盗链 Nginx系列-6.配置Nginx的HTTPS Nginx系列-7.配置Nginx使用uwsgi支持web.py框架 Nginx系列-8.配置Nginx+A

【Nginx】简单配置Nginx代理

1.下载Nginx.解压到某个地方 2.常用命令讲解 nginx -t:检查nginx.conf文件是否配置正确 nginx -s reload:重新加载配置文件,每次修改配置文件后reload一下. 关闭:nginx -s stop    或者    nginx -s quit 3.解决nginx.pid报错 执行:nginx -c 配置文件路径,会自动在文件nginx.pid中生成pid 之后就正确咯. 4.启动 start ngnix 出现闪退,  原因:80端口被占用 查看下80端口使用

Nginx系列-8.配置Nginx+Apache实现动静分离

Nginx系列-8.配置Nginx+Apache实现动静分离 目录 - Nginx系列 Nginx系列-1.Linux下安装Nginx Nginx系列-2.配置LNMP(Linux.Nginx.MySQL.PHP)架构 Nginx系列-3.配置Nginx虚拟主机 Nginx系列-4.Nginx日志配置及日志切割 Nginx系列-5.配置Nginx的防盗链 Nginx系列-6.配置Nginx的HTTPS Nginx系列-7.配置Nginx使用uwsgi支持web.py框架 Nginx系列-8.配置

Nginx系列-11.配置Nginx反向代理和负载均衡

Nginx系列-11.配置Nginx反向代理和负载均衡 目录 - Nginx系列 Nginx系列-1.Linux下安装Nginx Nginx系列-2.配置LNMP(Linux.Nginx.MySQL.PHP)架构 Nginx系列-3.配置Nginx虚拟主机 Nginx系列-4.Nginx日志配置及日志切割 Nginx系列-5.配置Nginx的防盗链 Nginx系列-6.配置Nginx的HTTPS Nginx系列-7.配置Nginx使用uwsgi支持web.py框架 Nginx系列-8.配置Ngi