`
wb284551926
  • 浏览: 551364 次
文章分类
社区版块
存档分类
最新评论

LVS+keepalived+nginx+tomcat部署实现(转载)

    博客分类:
  • LVS
LVS 
阅读更多

# 拓扑如下所示

wKioL1QOmLrDoQ2uAAHpCQhZ_Bk403.jpg

2台前端 keepalived+lvs,热备的方式,保证一台lvs前端能正常访问就行,如果一台down,另外一台热备升级到master主机
master: 192.168.1.210 ubuntu 12.0.4
salve: 192.168.1.211 ubuntu 12.0.4

后端2台web服务器通过lvs的算法轮询被访问
web1: 192.168.1.204 centos 5.10 nginx+tomcat
web2: 192.168.1.206 centos 5.10 nginx+tomcat

vip: 192.168.1.207

1:首先 web1和web2都不用装ipvsadm和keepalived,只要启用一个脚本即可,
当然你已经把nginx+tomcat已经配置完,并能正常访问页面

vim realserver.sh
#!/bin/bash  
#   
# Script to start LVS DR real server.   
# description: LVS DR real server   
#   
.  /etc/rc.d/init.d/functions
VIP=192.168.1.207   #这里根据需要改成自己的VIP地址
host=`/bin/hostname`
case "$1" in  
start)   
       # Start LVS-DR real server on this machine.   
        /sbin/ifconfig lo down   
        /sbin/ifconfig lo up   
        echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore   
        echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce   
        echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore   
        echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
        /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up  
        /sbin/route add -host $VIP dev lo:0
;;  
stop)
        # Stop LVS-DR real server loopback device(s).  
        /sbin/ifconfig lo:0 down   
        echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore   
        echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce   
        echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore   
        echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
;;  
status)
        # Status of LVS-DR real server.  
        islothere=`/sbin/ifconfig lo:0 | grep $VIP`   
        isrothere=`netstat -rn | grep "lo:0" | grep $VIP`   
        if [ ! "$islothere" -o ! "isrothere" ];then   
            # Either the route or the lo:0 device   
            # not found.   
            echo "LVS-DR real server Stopped."   
        else   
            echo "LVS-DR real server Running."   
        fi   
;;   
*)   
            # Invalid entry.   
            echo "$0: Usage: $0 {start|status|stop}"   
            exit 1   
;;   
esac
chmod +x realserver.sh
./realserver.sh start

可通过ifconfig和route -n来查询刚才脚本实现的功能
如果可以把此脚本放在启动时运行

ifconfig

ifconfig

route -n

route -n

2:然后再master和salve分别安装ipvsadm和keepalived

yum install -y keepalived ipvsadm (centos redhat)
或者
apt-get install keepalived ipvsadm (debian ubuntu)

安装完ipvsadm和keepalived,不用配置lvs,直接用keepalived来启用lvs就行

在master主机设置:

vim /etc/keepalived/keepalived.conf
global_defs
{
router_id master_210
}
 
vrrp_instance shengzc {
state MASTER
interface eth0
virtual_router_id 100    #这个数值 master和slave必须统一
priority 151     #这个数值决定哪台服务器是master 
advert_int 1
authentication {
        auth_type PASS
        auth_pass 123456
        }
virtual_ipaddress {
        192.168.1.207
        }
}
virtual_server 192.168.1.207 80 {
            delay_loop 6
            lb_algo wrr
            lb_kind DR
#            persistence_timeout 50
            protocol TCP
real_server 192.168.1.204 80 {
                weight 1
                TCP_CHECK {
                    connect_timeout 3
                    nb_get_retry 3
                    delay_before_retry 3
                    connect_port 80
                }
            }
real_server 192.168.1.206 80 {
                weight 1
                TCP_CHECK {
                    connect_timeout 3
                    nb_get_retry 3
                    delay_before_retry 3
                    connect_port 80
                }
            }
}

启动keepalived

/etc/init.d/keepalived start

在slave主机设置:

vim /etc/keepalived/keepalived.conf
global_defs
{
router_id slave_211
}
 
vrrp_instance shengzc {
state MASTER
interface eth0
virtual_router_id 100    #这个数值 master和slave必须统一
priority 150     #这个数值决定哪台服务器是master 这里我们比master数值低,所以角色是backup,
advert_int 1
authentication {
        auth_type PASS
        auth_pass 123456
        }
virtual_ipaddress {
        192.168.1.207
        }
}
virtual_server 192.168.1.207 80 {
            delay_loop 6
            lb_algo wrr
            lb_kind DR
#            persistence_timeout 50
            protocol TCP
real_server 192.168.1.204 80 {
                weight 1
                TCP_CHECK {
                    connect_timeout 3
                    nb_get_retry 3
                    delay_before_retry 3
                    connect_port 80
                }
            }
real_server 192.168.1.206 80 {
                weight 1
                TCP_CHECK {
                    connect_timeout 3
                    nb_get_retry 3
                    delay_before_retry 3
                    connect_port 80
                }
            }
}

启动keepalived

/etc/init.d/keepalived start

可以运行 ipvsadm -ln 来查看是否启用

ipvsadm

ipvsadm

好了,现在我们直接访问 http://192.168.1.207 就实现了,高可用性,高负载的集群

参考文章:

http://www.5ilinux.com/2014/05/lvs_keepalived_nginx_tomcat.html

分享到:
评论

相关推荐

    第三十三章:Lvs+Keepalived+Nginx+Tomcat高可用集群1

    本文主要讲述了如何构建一个高可用集群项目,使用 LVS、Keepalived、Nginx 和 Tomcat 实现高可用性和负载均衡。该项目的架构中,Keepalived 负责对 LVS 架构中的调度器进行热备份,至少包含两台热备的负载调度器,两...

    4 lvs+keepalived+nginx+tomcat实现高性能负载均衡集群.docx

    这里提到的“4 lvs+keepalived+nginx+tomcat”架构,就是一种常用的解决方案,用于处理高流量的Web服务。下面将详细解释每个组件的作用和配置方法。 1. LVS(Linux Virtual Server): LVS是Linux内核中的一个负载...

    lvs+keepalived+nginx+tomcat+memcached实现服务负载均衡及session共享

    本文将详细探讨如何使用lvs(Linux Virtual Server)、keepalived、nginx、tomcat以及memcached来实现这一目标。 首先,lvs是Linux内核中的一个模块,它提供了四层负载均衡功能,能够将进来的网络请求分发到后端多...

    lvs+keepalived+nginx+tomcat实现高性能负载均衡集群.rar

    这个文档"lvs+keepalived+nginx+tomcat实现高性能负载均衡集群.docx"将详细解释每个组件的配置细节、集群的架构图以及可能出现的问题及解决方案,帮助你更好地理解和实施这个高性能的负载均衡集群。

    LVS+Keepalived+Squid+Nginx

    在实际部署中,需要对这四个组件进行精细的配置,包括但不限于:LVS的调度策略、Keepalived的VRRP配置、Squid的缓存策略以及Nginx的反向代理和负载均衡规则。通过这样的组合,可以构建出一个能够应对高流量、高并发...

    lvs+keepalived+nginx+tomcat 集群联系1

    在搭建基于`lvs+keepalived+nginx+tomcat`的集群时,我们需要理解这些组件各自的作用以及它们如何协同工作以实现高可用性和负载均衡。以下是详细的知识点解释: 1. **LVS (Linux Virtual Server)**: LVS 是一种在 ...

    nginx+lvs+keepalived安装文档

    本文档将详细介绍如何在 Linux 系统上部署 nginx、LVS 以及 Keepalived,构建一个高可用且负载均衡的服务集群。通过这种方式,不仅可以提高服务的稳定性和性能,还能实现服务的自动故障转移。 #### 二、环境准备 -...

    在lvs+keepalived+MHA+MySQL下构建ecshop

    项目要达到搭建一个每日PV200W的电子商务网站,系统采用lvs+keepalived+mha+mysql 高可用架构, 本项目各个服务器操作系统均采用Centos7.5,数据库均为MYSQL5.7.23

    lvs+keeplive

    说明:前端两台负载均衡器安装lvs+keepalived ;web服务器上安装nginx+tomcat ;后端数据库采用双机备份安装mysql软件,用户访问web服务器ip 192.168.4.66

    nginx+tomcat高可用、高性能jsp集群

    总结,通过Nginx+Tomcat的组合,结合LVS的负载均衡和Keepalived的故障转移,可以构建出一个高可用、高性能的JSP应用集群。这个架构不仅可以有效分发流量,还能在单个节点出现问题时自动切换,保证服务的连续性。

    关于linux的综合实验lvs-nginx-dns-tomcat-httpd-nfs

    - 通过配置Keepalived来实现LVS、Nginx和DNS服务的故障转移机制,从而确保即使在一台服务器宕机的情况下也能提供不间断的服务。 2. **LVS的NAT模式实现HTTPD负载均衡**: - 采用LVS的NAT模式对HTTPD进行负载...

    142道IT运维面试题

    包含负载均衡、TCP网络、常见面试问题、数据库、Mysql、lvs+nginx、apache、tomcat、nginx、磁盘阵列、zabbix、Prometheus、Haproxy、LVS+keepalived、网络模型、redis、kafka、CI/CD、k8s、日志监控、

    keepalived&tomcat;代码与脚本

    在配置中,Keepalived通常与Nginx或LVS(Linux Virtual Server)结合使用,提供网络服务的高可用性。 2. **Redis**: Redis是一个高性能的键值数据库,常用于缓存和消息队列。它可以大大提高应用程序的响应速度,...

    财华社项目部署安装文档

    【财华社项目部署安装文档】是一份详细指导在8台服务器上搭建LVS+Keepalived+Nginx+Tomcat+FastDFS+Mysql-Cluster+Redis的实施方案。该文档旨在实现高可用性和负载均衡的系统架构,以确保服务的稳定运行。 首先,...

    Nginx入门到精通搭建高可用集群负载均衡

    - Keepalived 提供健康检查和 VRRP(Virtual Router Redundancy Protocol),配合 Nginx 实现主备切换,确保服务无中断。 **7. Nginx+Lua/OpenResty 扩展** - 通过 Lua 脚本增强 Nginx 功能,实现更复杂的业务...

    Keepalived快速上手.pdf

    1:Keepalived介绍和基本实现思路 2:VRRP协议:概念、理解、工作机制、负载分担等 3:Keepalived安装 4:Keepalived体系结构 5:Keepalived配置 6:Keepalived+Nginx的HA ...9:Keepalived+LVS实现高可用的负载均衡

    Linux+系统运维之系统架构.pdf

    Linux+系统运维之系统架构.pdf.rar,0分提供下载,造福网友。 本文通过生产应用实例,从运维工程师的角度对目前流行的Web 架构做了...如LAMP、LNMP、LVS Keepalived、Apache+Tomcat 负载均衡和Nginx+Tomcat负载均衡等。

    JavaEE大型分布式电商项目 淘淘商城 29期

    13、 部署方面使用LVS + keepalived + Nginx实现了双机主备、双主热备,实现了一个高可用的系统架构。 14、 项目开发采用团队式的开发,统一使用Maven私服构建项目,使用统一的SVN服务进行代码的管理。 【课程内容...

Global site tag (gtag.js) - Google Analytics