【Nginx教程7】nginx 配置文件详解 (高可用的集群)
1 | https://www.bilibili.com/video/BV1zJ411w7SV?p=15 |
1. 配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | #全局配置 global_defs { notification_email { ancky2006@gmail.com } notification_email_from sns-lvs@gmail.com smtp_server 192.168.122.54 smtp_connection_timeout 30 router_id nginx_master # 设置nginx master的id,在一个网络应该是唯一的 } #脚本配置 vrrp_script chk_http_port { script "/usr/local/src/check_nginx.sh" # 最后手动执行下此脚本,以确保此脚本能够正常执行 interval 2 #(检测脚本执行的间隔,单位是秒) weight 2 # 设置当前服务器的权重 } #虚拟IP配置 vrrp_instance VI_1 { state MASTER # 指定keepalived的角色,MASTER为主,BACKUP为备 interface eth0 # 绑定的网卡(当前centos的网卡,ifconfig可以查) virtual_router_id 66 # 虚拟路由编号,主服务器,备份服务器 这这要一致. priority 100 # 优先级,数值越大,获取处理请求的优先级越高,例如主服务器100,备服务器90. advert_int 1 # 检查间隔,默认为1s(vrrp组播周期秒数) authentication { auth_type PASS auth_pass 1111 } track_script { chk_http_port #(调用检测脚本) } virtual_ipaddress { 192.168.122.200 # 定义虚拟ip(VIP),可多设,每行一个 } } |
2. 脚本文件
1 2 3 4 5 6 7 8 | #!/bin/bash A=`ps -C nginx --no-header |wc -l` if [ $A -eq 0 ];then /usr/local/nginx/sbin/nginx #重启nginx if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then #nginx重启失败,则停掉keepalived服务,进行VIP转移 killall keepalived fi fi |