Nginx高可用HA

使用Nginx对Tomcat做负载均衡,nginx.conf中配置upstream

Nginx高可用HA

文章插图
 
当Nginx请求过多时
Nginx高可用HA

文章插图
 
Keepalived概念
1:解决单点故障
2:组件免费
3:可以实现高可用的HA机制
4:基于VRRP协议
VRRP:虚拟路由冗余协议
1:virtual router redundancy protocol
2:解决内网单机故障的路由协议
3:构建有多个路由器(Nginx) 的MASTER BACKUP
4:虚拟IP(virtual IP)
Keepalive 双机主备原理
 
Nginx高可用HA

文章插图
 
多台Nginx机器配置之间硬件配置一致(主备),因为主机如果宕机之后,请求都打到备用机,如果此时备用机性能不好的话会很快就宕机了,主机恢复之后,请求重新打到主机
 
Nginx高可用HA

文章插图
 
Keepalived下载keepalived.org
一、安装官方地址 keepalived 下载地址,选择指定的版本后我们就开始下载
wget https://www.keepalived.org/software/keepalived-2.1.5.tar.gz解压缩
tar -zxvf keepalived-2.1.5.tar.gz进行configure配置,指定安装目录:
cd keepalived-1.3.4 && ./configure --prefix=/home/keepalived-2.1.5/编译安装
make && make install
如果安装出现什么问题,一般都是缺少了环境,只要看报错信息 yum install 相关环境就o了
二、keepalived 文件介绍(必须理解)1. keepalived 启动脚本文件keepalived 的启动脚本文件所在
/home/keepalived-2.1.5/keepalived/etc/init.d启动脚本文件代码
#!/bin/sh## Startup script for the Keepalived daemonKeepalived 守护进程启动脚本## processname: keepalived# pidfile: /var/run/keepalived.pidkeepalived.pid路径# config: /etc/keepalived/keepalived.conf# chkconfig: - 21 79# description: Start and stop Keepalived 启动或者停止Keepalived# Source function library 指定源函数库位置(这个文件本身linux自带不需要我们管). /etc/rc.d/init.d/functions# Source configuration file (we set KEEPALIVED_OPTIONS there)源配置文件(该文件设置 KEEPALIVED_OPTIONS 的参数) 这个文件需要我们自己移动. /etc/sysconfig/keepalived# 返回值 默认0RETVAL=0# 指令prog="keepalived"# 启动 start() {echo -n $"Starting $prog: "daemon keepalived ${KEEPALIVED_OPTIONS}# $? 执行上一个指令的返回值 (显示最后命令的退出状态 。0表示没有错误,其他任何值表明有错误)RETVAL=$?echo[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog}stop() {echo -n $"Stopping $prog: "echo -n $"Stopping $prog: "killproc keepalivedRETVAL=$?echo[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog}reload() {echo -n $"Reloading $prog: "killproc keepalived -1RETVAL=$?echo}# See how we were called.case "$1" instart)start;;stop)stop;;reload)reload;;restart)stopstart;;condrestart)if [ -f /var/lock/subsys/$prog ]; thenstopstartfi;;status)status keepalivedRETVAL=$?;;*)echo "Usage: $0 {start|stop|reload|restart|condrestart|status}"RETVAL=1esacexit $RETVAL可以看出提供了启动,暂停,重启这些命令 。
2. keepalived 启动参数文件这里的启动参数文件相当于以上的 KEEPALIVED_OPTIONS。是启动文件里的 . /etc/sysconfig/keepalived 文件 。源文件在
/home/keepalived-2.1.5/keepalived/etc/sysconfig我们查看一下内容
# Options for keepalived. See `keepalived --help' output and keepalived(8) and# keepalived.conf(5) man pages for a list of all options. Here are the most# common ones :# 这里是启动常用参数 # --vrrp-POnly run with VRRP subsystem. 仅与VRRP子系统一起运行 。# --check-COnly run with Health-checker subsystem. 仅与运行状况检查子系统一起运行# --dont-release-vrrp-VDont remove VRRP VIPs & VROUTEs on daemon stop. 不要在守护进程停止时删除VRRP VIP和VROUTEs 。# --dont-release-ipvs-IDont remove IPVS topology on daemon stop. 不要在守护进程停止时删除IPVS拓扑 。# --dump-conf-dDump the configuration data. 转储配置数据 。# --log-detail-DDetailed log messages. 详细的日志消息 。# --log-facility-S0-7 Set local syslog facility (default=LOG_DAEMON) 0-7设置本地syslog工具(默认值=LOG_DAEMON)## 这里就是设置启动参数KEEPALIVED_OPTIONS="-D"这个文件主要是为了保存 keepalived 的启动参数,要不然你启动一次,下次你启动你还记得你输入过的参数嘛?那启动参数具体有哪些?继续往下看 。


推荐阅读