Nginx Keepalived
要实现nginx高可用需要两台及以上的nginx服务器组成集群Keepalived主要通过VRRP协议来实现高可用VRRP虚拟路由冗余协议需要有至少两个节点Master节点和backup节点master节点宕机时backup节点接管服务master会主动告知backup节点向其发送心跳检测环境搭建IP主机名主从192.168.234.103keepalived1master192.168.234.104keepalived2backup一、keepalived安装1.下载keepalived下载地址 https://keepalived.orghttps://keepalived.org/download/ 下载keepalived-2.4.2.tar.gzwgethttps://keepalived.org/software/keepalived-2.4.2.tar.gz2.安装#解压缩tar-zxvfkeepalived-2.4.2.tar.gz#进入解压后文件夹cdkeepalived-2.4.2#执行配置./configure--sysconf/etc--prefix/usr/local#编译安装makemakeinstall3.主要结构配置文件在目录下vim/etc/keepalived/keepalived.conf执行文件在目录下控制启停cd/usr/local/sbin二、Keepalived配置#防火墙放行keepalivedfirewall-cmd--permanent--add-protocolvrrp firewall-cmd--reload1.备份keepalived配置文件目录下已经有keepalived配置文件备份keepalived.conf.sample)cpkeepalived.conf.sample keepalived.conf配置说明master!Configuration Fileforkeepalived global_defs{#出问题发送邮件到哪去notification_email{acassenfirewall.loc failoverfirewall.loc sysadminfirewall.loc}#本机的邮箱发件人notification_email_from Alexandre.Cassenfirewall.loc smtp_server192.168.200.1 smtp_connect_timeout30#需要配置不重复的ID这里设置为keepalived1#router_id LVS_DEVELrouter_id keepalived1 vrrp_skip_check_adv_addr vrrp_strict vrrp_garp_interval0vrrp_gna_interval0}#VIP实例vrrp_instance VI_1{#配置是MASTER还是BACKUP这里是MASTERstate MASTER#网卡名这里是ens33interface ens33#采用默认virtual_router_id51#优先级采用默认priority100#心跳间隔采用默认advert_int1authentication{auth_type PASS auth_pass1111}#虚拟IP可以设置多个用户可以访问任意一个virtual_ipaddress{192.168.200.16192.168.200.17192.168.200.18}# Allow packets addressed to the VIPs above to be receivedaccept}virtual_server192.168.200.100443{delay_loop6lb_algo rr lb_kind NAT persistence_timeout50protocol TCP real_server192.168.201.100443{weight1SSL_GET{url{path / digest ff20ad2481f97b1754ef3e12ecd3a9cc}url{path /mrtg/ digest 9b3a0c85a887a256d6939da88aabd8cd}connect_timeout3retry3delay_before_retry3}}}virtual_server10.10.10.21358{delay_loop6lb_algo rr lb_kind NAT persistence_timeout50protocol TCP sorry_server192.168.200.2001358real_server192.168.200.21358{weight1HTTP_GET{url{path /testurl/test.jsp digest 640205b7b0fc66c1ea91c463fac6334d}url{path /testurl2/test.jsp digest 640205b7b0fc66c1ea91c463fac6334d}url{path /testurl3/test.jsp digest 640205b7b0fc66c1ea91c463fac6334d}connect_timeout3retry3delay_before_retry3}}real_server192.168.200.31358{weight1HTTP_GET{url{path /testurl/test.jsp digest 640205b7b0fc66c1ea91c463fac6334c}url{path /testurl2/test.jsp digest 640205b7b0fc66c1ea91c463fac6334c}connect_timeout3retry3delay_before_retry3}}}virtual_server10.10.10.31358{delay_loop3lb_algo rr lb_kind NAT persistence_timeout50protocol TCP real_server192.168.200.41358{weight1HTTP_GET{url{path /testurl/test.jsp digest 640205b7b0fc66c1ea91c463fac6334d}url{path /testurl2/test.jsp digest 640205b7b0fc66c1ea91c463fac6334d}url{path /testurl3/test.jsp digest 640205b7b0fc66c1ea91c463fac6334d}connect_timeout3retry3delay_before_retry3}}real_server192.168.200.51358{weight1HTTP_GET{url{path /testurl/test.jsp digest 640205b7b0fc66c1ea91c463fac6334d}url{path /testurl2/test.jsp digest 640205b7b0fc66c1ea91c463fac6334d}url{path /testurl3/test.jsp digest 640205b7b0fc66c1ea91c463fac6334d}connect_timeout3retry3delay_before_retry3}}}配置说明backup#与MASTER的区别其余配置相同router_id keepalived2 state BACKUP#要比MASTER优先级低priority90三、Keepalived运行在主和备分别运行keepalivedcd/usr/local/sbin ./keepalived