上一篇文章 《 keepalived+nginx打造高可用web应用的架构方案》 写了web server高可用架构的方案思路。
但是,
陆游教育我们纸上得来终觉浅,绝知此事要躬行。不操作一遍就是不会。
所以,这一篇是我对DNS+(keepalived & nginx反向代理)+web server三层架构的实践操作记录。
首先,我需要4台机器。两台做keepalived-nginx代理,两台做web server。哪儿来四台机器呢?靠vagrant 。 个人电脑上安装vagrant、virtualbox。vagrant是跨平台虚拟机管理工具,通过下载虚拟机镜像box文件和Vagranfile可以配置以启动N台虚拟机,非常方便。我这里用centos7.box启动四台虚拟机分别是keepalived1、keepalived2、web1、web2 。配置文件如下:
第二,安装keepalived & nginx。
登录keepalived1,先安装各种依赖
yum -y install gcc gcc-c++ autoconf automake make
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel
yum -y install ipvsadm
最后安装keepalived和nginx
yum -y install keepalived
下载nginx包,解压安装即可。
下面是master机器keepalived.conf配置。
设置vip 192.168.200.18
机器192.168.2.11和192.168.2.12上配置keepalived.conf有区别,backup机器需要修改如下:
vrrp_instanceVI_1 { state BACKUP //初始化状态 interface eth0 virtual_router_id 51 priority 99 //优先级,一定要比master的优先级要低 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 172.16.2.8 } }
然后是nginx负载均衡配置,负载量不大的时候这其实是master-backup配置,nginx自带服务检测。
机器192.168.2.11和192.168.2.12上nginx配置完全一致。
第三,启动测试web server
web server测试机的准备我打算用docker,下载安装启动docker,因为国内下载镜像实在太慢了,所以配置docker镜像加速。创建 /etc/docker/daemon.json 文件配置如下:
{ "registry-mirrors": [ "https://kfwkfulq.mirror.aliyuncs.com", "https://2lqq34jg.mirror.aliyuncs.com", "https://pee6w651.mirror.aliyuncs.com", "https://registry.docker-cn.com", "http://hub-mirror.c.163.com" ], "dns": ["8.8.8.8","8.8.4.4"] }
这样就快多了,分别下载php-fpm和apache镜像:
dmiseev/php-fpm7.1 latest a496a8708389 12 months ago 675MB
httpd 2.4-alpine 141bb8d01fbd 3 weeks ago 127MB
然后就是启动docker,并且关联两个容器。
启动php-fpm 命令是:
docker run -d --rm --name fpm -v "/data1/apache2/www:/php" a496a8708389
-v参数是把镜像中php命令关联到宿主机项目路径下。
启动apache命令是:
docker run -d -p 80:80 --link fpm:php --rm --name httpd-service -v "/data1/apache2/www:/usr/local/apache2/htdocs/" 141bb8d01fbd
对外暴露80端口
-v命令关联项目和容器项目路径
配置apache。 需要让apache进行fcgi代理关联,本来可以在宿主机写好httpd.conf 通过-v命令管理,但是不知道为什么我加上 -v "/data1/apache2/conf/:/usr/local/apache2/conf/" 参数dockers启动一直失败。只好先启动docker,然后进入容器修改httpd.conf,然后重启apache。
首先测试web server。分别访问http://192.168.2.13/index.php http://192.168.2.14/index.php 看到如下结果,表示web server启动成功。
最后,启动nginx机器上keepalived,用ip 命令查看虚拟ip已经添加到eth0:,如下图:
配置虚拟域名,进行访问测试,配置为 192.168.200.18 web.me 浏览器访问呢 web.me,结果如下:
多次刷新发现13 、14两个web server依次被访问,这是nginx的反向代理没有设置负载均衡访问配置,默认轮询。
登陆到192.168.2.11 或者 192.168.2.12 机器上kill掉nginx, 刷新浏览器发现web server依然可以访问,keepalived起到检测自动故障转移的功能。
这就保证了DNS+(keepalived & nginx反向代理)+web server三层架构的高可用性。
相关推荐
### Keepalived+Nginx 实现高可用Web负载均衡 #### 场景需求 在现代互联网应用中,网站和应用程序需要处理大量的用户请求,并确保即使在服务器出现故障的情况下也能持续提供服务。为了满足这一需求,通常采用高可用...
LVS+Keepalived+Nginx+Tomcat 高可用集群项目 本文主要讲述了如何构建一个高可用集群项目,使用 LVS、Keepalived、Nginx 和 Tomcat 实现高可用性和负载均衡。该项目的架构中,Keepalived 负责对 LVS 架构中的调度器...
"高可用之Keepalived+Nginx实现高可用Web负载均衡" Keepsalived 和 Nginx 是实现高可用 Web 负载均衡的关键技术。Keepalived 是一种高性能的服务器高可用或热备解决方案,可以防止服务器单点故障的发生,而 Nginx ...
- **整体架构**:采用Nginx作为反向代理,后端部署多个Tomcat实例,利用KeepAlived实现Nginx的主备切换,形成一套完整的高可用架构。 - **关键组件**: - **Nginx**:作为前端负载均衡器。 - **KeepAlived**:用于...
MySQL和Nginx负责数据管理和流量分配,Tomcat处理Java应用的运行,Redis提供高速缓存,而Keepalived则保障了系统的高可用性。了解并熟练掌握这些组件的配置和使用,对于构建高效、可靠的Web服务环境至关重要。
### 分布式架构高可用架构-Keepalived+Nginx实现高可用Web负载均衡 #### 一、场景需求 在互联网应用中,随着用户数量的增长和技术的发展,单一服务器已难以满足日益增长的服务需求。分布式系统架构应运而生于解决...
总结来说,"线上一键部署keepalived+nginx"是一种便捷的方法,用于搭建和管理具有高可用性和负载均衡功能的Web服务。通过Keepalived的故障切换机制和Nginx的负载均衡能力,可以显著增强系统的稳定性和性能。而使用...
在这个高可用架构中,我们使用 Keepalived 来实现 Nginx 的高可用,通过 Keepalived,我们可以将多个 Nginx 服务器组成一个高可用集群,使得我们的 web 服务具有高可用性。同时,我们还可以使用 Nginx 的负载均衡...
Keepalived 是一个基于 VRRP 协议的高可用性解决方案,可以与 Nginx 服务器集成,以实现双机主备的高可用性架构。在本文中,我们将详细介绍使用 Keepalived 和 Nginx 实现双机主备的配置和原理。 一、架构概述 在...
结合Haproxy、Keepalived、Nginx、LAMP和Nfs,我们能构建一个高可用的Web服务集群,通过负载均衡和故障转移策略,保证服务的连续性,同时利用Session和Cookie管理用户状态,提供个性化体验。而Nfs的使用则确保了数据...
在构建高性能、高可用性的Web服务时,使用...总之,Nginx+keepalived+tomcat的组合为Web服务提供了高可用性和负载均衡的能力,是企业级应用架构中的常见选择。通过合理的配置和优化,可以极大地提升系统性能和稳定性。
《keepalived+nginx+fastdfs集群安装手册》是一份详尽的IT技术文档,旨在指导用户构建基于这三个组件的高可用集群环境。这个集群方案主要用于实现网站服务的负载均衡和文件存储,确保服务的稳定性和数据的安全性。...
这里提到的“4 lvs+keepalived+nginx+tomcat”架构,就是一种常用的解决方案,用于处理高流量的Web服务。下面将详细解释每个组件的作用和配置方法。 1. LVS(Linux Virtual Server): LVS是Linux内核中的一个负载...
### Keepalived+Nginx 实现 Web 负载均衡 #### 一、场景需求与背景 在现代互联网架构中,随着用户量级的增长及业务复杂度的提升,单一服务器往往难以满足高并发访问的需求,同时也面临着单点故障的风险。为了解决...
【标题】"keepalived + nginx 主从热备"是一个重要的网络服务高可用性解决方案,主要应用于Web服务器集群,确保在主服务器发生故障时,流量能够无缝切换到备用服务器,保持服务的连续性和稳定性。 【描述】这个...
为此,我们可以采用`keepalived`与`nginx`相结合的方式,构建一个高可用的负载平衡Web服务器集群。`nginx`作为知名的反向代理和负载均衡器,能够将来自客户端的请求分发到后端的多台Web服务器,从而提高服务处理能力...
"keepalived+nginx双机热备+负载均衡 非抢占模式"是一种高级的IT解决方案,用于构建高可用、高性能的Web服务环境。通过Keepalived的VRRP和非抢占模式,保证了服务的连续性;Nginx则提供了灵活的负载均衡策略;配合...
标题中的"keepalived+haproxy+nginx-脚本"指的是一个集成的高可用性和负载均衡解决方案,其中包含了三个关键组件:Keepalived、HAProxy和Nginx。这个解决方案通常用于构建高可靠的Web服务架构,确保在主服务器故障时...