关键词:
高可用方案其实很多,而且有很多成本是非常低和简单的。比如你如果有一个网站,高可用最简单的就是nds+nginx+两台机器。
我们由于是客户的一个项目,dns申请是非常麻烦的,所以才考虑用keepalived+nginx做高可用方案。
从网上整理了HA常用组合。
heartbeat v2+crm
heartbeat v3+pacemaker
corosync+pacemaker
cman + rgmanager
keepalived+lvs。
这里我们没有用lvs,而是直接用了nginx,感觉就两台机器,所以也没有必要搞的太复杂。而且也能满足要求。
安装前的规划,这个我认为还是比较重要的,我们就是之前没有好好规划,现在感觉比较乱,而且客户升级也很麻烦。一堆的流程。
我们系统是java开发的,所以用了tomcat进行后台的解析。
首先是目录规划,比如tomcat放在什么地方,静态文件放在什么地方。一般来说有nginx后静态文件由nginx去解析,可以分担tomcat的很多压力。
nginx安装前准备,因为nginx安装还是比较简单的,但是有个问题就是nginx有很多插件,这些插件是否需要安装需要研究一下。由于nginx对回话处理不是太好,所以我们这边需要添加一个会话保持的插件,其他插件建议不要安装太多,毕竟稳定和效率是第一的,非官方的插件就怕有问题,到时候找都不好找。
依赖yum -y install gcc pcre-devel kernel-devel
yum install openssl-* -y 剩下的就看提示,没有就安装一下。
下面就是安装:
tar -zxvf nginx-1.7.9.tar.gz
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --add-module=../nginx-stick
make
make install
这里里面用了一个stick回话保持的插件,下载地址为,这个有时候不太好找,基本上都是google服务器上的,没有办法下载。
https://github.com/ezbake/nginx-sticky-module
这里有个问题就是当nginx挂了的时候,keepalived并不知道服务不可用,所以还回继续提供服务,但这个时候已经不起作用了。
所以需要添加一个守护进程,当nginx挂的时候把keepalived也观杀掉,当进程启动的时候也启动keepalived。
可以在crontab里面设置30秒检测一次,也就是当nginx挂的时候最长时间会延迟三十秒切换。
*:30 * * * * /opt/nginx_pid.sh
#!/bin/bash
# varsion 1.0
A=`ps -C nginx --no-header |wc -l`
B=`ps -C keepalived --no-header |wc -l`
if [ $A -eq 0 ];then
# /usr/local/nginx/sbin/nginx
sleep 1
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
killall keepalived
fi
elif [ $B -eq 0 ];then
/etc/rc.d/init.d/keepalived start
fi
最后别忘了脚本要加上可执行的权限,不然不会执行。
vrrp_script weight 脚本执行的逻辑:失败的标志位,当返回值为0时候表示成功,其他都是失败。
为正时,脚本检测成功时此weight会加到priority上,检测失败时不加。
主失败
主 priority < 从 priority + weight 时会切换。
主成功:
主 priority + weight > 从 priority + weight 时,主依然为主
weight 为负时,脚本检测成功时此weight不影响priority,检测失败时priority – abs(weight)
主失败:
主 priority – abs(weight) < 从priority 时会切换主从
主成功:
主 priority > 从priority 主依然为主。
nginx+keepalived高可用
nginx+keepalived高可用1.环境如下lb-01:192.168.75.136/24 nginx+keepalived-masterlb-02:192.168.75.137/24 nginx+keepalived-backupVIP:192.168.75.135/24 rs-01:192.168.75.133/24 apa 查看详情
centos7案例实战——nginx+keepalived高可用服务器集群搭建(代码片段)
...上,搭建一个高可用的nginx服务器集群,主要使用Keepalived组件,实现高可用的nginx集群搭建,当然,最佳的方案是同时引入haproxy组件,haproxy 查看详情
nginx利用keepalived实现高可用的配置(代码片段)
文章目录高可用性(HighAvailability)作用一、keepalived是什么?二、利用keepalived实现高可用的配置1.将两台服务器都配置负载均衡功能2.安装配置keepalived软件3.两台负载均衡器启动keepalived4.查看ip地址,看高可用是否... 查看详情
keepalived(代码片段)
KeepalivedNginx高可用解决方案KeepalivedVRRP介绍环境搭建Keepalived配置文件介绍打开keepalived.conf配置文件访问测试keepalived之vrrp_scriptNginx制作下载站点Nginx的用户认证模块Nginx高可用解决方案需要两台以上的Nginx服务器对外提供服务,... 查看详情
keepalived高可用搭建(代码片段)
-[1.keepalived简介##](#1-keepalived-简介-)-[1.keepalived](#1-keepalived)-[2.安装keepalived](#2-安装keepalived)-[2.keepalived高可用配置##](#2-keepalived-高可用配置-)-[1.安装keepalived](#1-安装keepalived)-[2.配置keepalived以实现虚 查看详情
nginx+keepalived+tomcat实现的高可用(代码片段)
环境准备 172.16.119.100:nginx+keepalived master 172.16.119.101:nginx+keepalived backup 172.16.119.102:tomcat 172.16.119.103:tomcat 虚拟ip(VIP):172.16.119.200,对外提供服务的i 查看详情
lvs+keepalived高可用群集
LVS+Keepalived高可用群集 目录第一部分 环境准备第二部分 使用Keepalived搭建双机热备第三部分 配置Web节点服务器第四部分 测试LVS+Keepalived高可用群集 第一部分 环境准备一:调... 查看详情
搭建haproxy负载均衡keepalived高可用集群(代码片段)
...到期,转移自己博客内容至此。haproxy官网:www.haproxy.orgkeepalived官网:www.keepalived.org本站下载:haproxy-1.8.3.tar.gz本站下载:keepalived-1.4.0.tar.gz本站下载:keepalived启动服务文件环境:web01:10.8.8.51 centos7web02:10.8.8. 查看详情
keepalived高可用(代码片段)
...ip:192.168.1.1403、192.168.1.146、192.168.1.148上分别部署Nginx、Keepalived、tomcat并进行配置说明:Nginx是一个高性能的HTTP反向代理服务器Keepalived是一个基于VRRP协议来实现的LVS服务高可用方案,可以利用其来避免服务的单点故障Tomcat是一... 查看详情
基于nginx搭建web服务器ha架构(实现高可用web服务)(代码片段)
...#xff09;需求模拟运维设计方案高可用服务搭建介绍HA高可用keepalived软件介绍keepalived组成和原理安装配置启动keepalived实现Web服务高可用前置部署第一步:将主Web服务器的数据库文件备份,导入数据库服务第二步:两台Web... 查看详情
nginx从安装到高可用(代码片段)
...供https访问1.安装SSL模块2、配置HTTPS六、配置hanginx1、安装keepalived2、配置keepalived主机3、把keepalived注册为系统服务4、实现双机主备高可用5、keepalived配置nginx自动重启6、keepalived双主热备七、LVS(LinuxVirtualServer)实现高可... 查看详情
搭建nginx高可用集群(keepalived+双机热备)(代码片段)
...,所以我们也需要给Nginx配置高可用机制。可以使用keepalived来实现Nginx的高可用。二、Nginx双机热备双机热备方案是目前使用最为普遍的一种高可用方案,双机热备就是指一台服务器整在提供服务,另外一台作为备用... 查看详情
centos7安装keepalived实现高可用
场景:尝试安装keepalived实现高可用,进而在suse环境中部署。测试过程需要配合Nginx的相关知识:Centos7Nginx安装1安装过程问题 !!!OpenSSLisnotproperlyinstalledonyoursystem.!!! !!!CannotincludeOpenSSLheadersfiles. 解决方法: yum-yinstal 查看详情
keepalived高可用集群实践
... 准备4台物理服务器或者4台VM虚拟机,其中两台用来做Keepalived服务器,两台做web测试站点HOSTNAMEI P解 释lb01 10.0.0.7Keepalived主服务器(Nginx主负载均衡器)lb0210.0.0.8Keepalived备服务器(Nginx备负载均衡器)web0110.0.0.... 查看详情
keepalived高可用集群实践
... 准备4台物理服务器或者4台VM虚拟机,其中两台用来做Keepalived服务器,两台做web测试站点HOSTNAMEI P解 释lb01 10.0.0.7Keepalived主服务器(Nginx主负载均衡器)lb0210.0.0.8Keepalived备服务器(Nginx备负载均衡器)web0110.0.0.... 查看详情
haproxy+keepalived高可用环境部署梳理(主主和主从模式)
...负载均衡软件,本人都在多个项目中实施过,通常会结合Keepalive做健康检查,实现故障转移的高可用功能。12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 查看详情
haproxy+keepalived高可用环境部署梳理(主主和主从模式)
...负载均衡软件,本人都在多个项目中实施过,通常会结合Keepalive做健康检查,实现故障转移的高可用功能。12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 查看详情
haproxy+keepalived高可用群集
Haproxy是目前比较流行的一种集群调度工具Haproxy与LVS、Nginx的比较LVS性能最好,但是搭建相对复杂Nginx的upstream模块支持集群功能,但是对集群节点健康检查功能不强,性能没有Haproxy好.性能特性单进程、事件驱动模型显著降低了... 查看详情