haproxy+keepalive 实现jboss负载均衡和高可用

系统为centos 6.4 64位

主:192.168.1.61

备:192.168.1.62

浮动ip:192.168.1.64

realserver:192.168.1.60和192.168.1.63

第一:jboss的安装配置:

yum install java-1.7.0* -y

unzip jboss-5.1.0.GA.zip  -d /usr/local

ln -sv jboss-5.1.0.GA   jboss

cd /usr/local/jboss/server

cp -r default default_init

cp -r default jboss-gh1(项目的目录)

把项目的包放在 jboss-gh1目录下

修改配置文件让其能用域名访问

[[email protected] WEB-INF]# pwd

/usr/local/jboss/server/jboss-ghl/deploy/ghn.war/WEB-INF

[[email protected] WEB-INF]# cat jboss-web.xml

<?xml version=‘1.0‘ encoding=‘UTF-8‘ ?>

<!DOCTYPE jboss-web

PUBLIC "-//JBoss//DTD Web Application 2.3V2//EN"

"http://www.jboss.org/j2ee/dtd/jboss-web_3_2.dtd">

<jboss-web>

<context-root>/</context-root>

<virtual-host>你的域名</virtual-host>

<virtual-host>192.168.1.63</virtual-host>

</jboss-web

/usr/local/jboss/server/jboss-ghl/deploy/jbossweb.sar/server.xml

<Host name="你的域名" autoDeploy="false"

deployOnStartup="false" deployXML="false">

<Valve className="org.apache.catalina.valves.AccessLogValve"

prefix="localhost_access_log."

suffix=".log"

pattern="common"

directory="${jboss.server.log.dir}"

resolveHosts="false" />

</Host>

</Engine>

</Service>

</Server>

然后写启动的脚本了

为了方便测试,写了一测试页

[[email protected] ghn.war]# cat index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<?xml version="1.0" encoding="utf-8" ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title></title>

</head>

<body>

information from 192.168.1.60(63上面改成63的ip)

</body>

</html>

[[email protected] ghn.war]# pwd

/usr/local/jboss/server/jboss-ghl/deploy/ghn.war

[[email protected] bin]# cat jboss-gh1.sh

#!/bin/bash

/usr/local/jboss/bin/run.sh -c jboss-ghl -b 0.0.0.0 -Djboss.service.binding.set=ports-01 -Djboss.messaging.ServerPeerID=1

[[email protected] bin]# pwd

/usr/local/jboss/bin

./jboss-gh1.sh &启动进程

到此jboss的配置完成。

第二:haproxy和keepalive的配置

haproxy和keepalived都是直接yum安装的

haproxy的配置(主从都是一样的)

[[email protected] haproxy]# cat haproxy.cfg

global

log 127.0.0.1 local0 info

maxconn 65536

chroot      /var/lib/haproxy

pidfile     /var/run/haproxy.pid

user        haproxy

group       haproxy

daemon

nbproc 4

defaults

mode                    http

log                     global

option                  httplog

option                  dontlognull

option http-server-close

option forwardfor       except 127.0.0.0/8

option                  redispatch

retries                 3

timeout http-request    10s

timeout queue           1m

timeout connect         10s

timeout client          1m

timeout server          1m

timeout http-keep-alive 10s

timeout check           10s

clitimeout              30000

srvtimeout              30000

contimeout              30000

frontend    60_ha

bind  *:80

mode http

log global

option httplog

option dontlognull

option forwardfor

option httpclose

clitimeout 60000

acl test  path_beg  /ghn

acl test1   hdr_dom(host) -i 你的域名

use_backend istest  if test or test1

backend istest

balance roundrobin

mode http

log global

option httplog

option httpclose

option forwardfor

contimeout 30000

srvtimeout 30000

fullconn 4000

server jbosstest1 192.168.1.60:8180 cookie c1 check inter 9000 rise 2 fall 3 weight 1 maxconn 2000

server jbosstest2 192.168.1.63:8180 cookie c1 check inter 9000 rise 2 fall 3 weight 1 maxconn 2000

service haproxy start 直接启动即可

keepalived的配置

主配置

[[email protected] keepalived]# cat keepalived.conf

! Configuration File for keepalived

global_defs {

router_id LVS_DEVEL

}

vrrp_instance VI_1 {

state MASTER

interface eth0

virtual_router_id 51

priority 150

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.1.64

}

}

备的配置

! Configuration File for keepalived

global_defs {

router_id LVS_DEVEL

}

vrrp_instance VI_1 {

state backup

interface eth0

virtual_router_id 51

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.1.64

}

}

service keepalived start直接启动即可

启动之后 在主的上面 查看ip地址

[[email protected] keepalived]# ip add

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 52:54:00:3b:2d:8c brd ff:ff:ff:ff:ff:ff

inet 192.168.1.61/24 brd 192.168.1.255 scope global eth0

inet 192.168.1.64/32 scope global eth0

inet6 fe80::5054:ff:fe3b:2d8c/64 scope link

valid_lft forever preferred_lft forever

备的ip地址

[email protected] keepalived]# ip add

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 52:54:00:6f:b9:8d brd ff:ff:ff:ff:ff:ff

inet 192.168.1.62/24 brd 192.168.1.255 scope global eth0

inet6 fe80::5054:ff:fe6f:b98d/64 scope link

valid_lft forever preferred_lft forever

第三:测试

绑定hosts文件

192.168.1.64  你的域名

down掉主的keeplived,从的会立即接管浮动ip。实现无缝连接

时间: 2024-10-05 10:10:32

haproxy+keepalive 实现jboss负载均衡和高可用的相关文章

用haproxy结合keepalived实现基于LNMP的负载均衡和高可用

今天我们讲haproxy结合keepalived实现LNMP的负载均衡和高可用,现在的公司大部分都基于haproxy实现负载均衡.下面以一个事例去给大家详细讲解如何去实现: 一.用haproxy结合keepalived实现基于lnmp的负载均衡和高可用服务,要求: (1)实现动静分离,图片和css,js都分离到专门的静态服务器上 (2)只允许172.17网段用户访问 (3)对于动态请求,要求实现基于cookie的会话保持 整体架构如下: 1.实验前需要关闭防火墙和selinux,以及同步时间.

Nginx之二:负载均衡及高可用

一.Nginx负载均衡及高可用简介 负载均衡是为了解决单个节点压力过大,造成Web服务响应过慢,严重的情况下导致服务瘫痪,无法正常提供服务.负载均衡,将用户的所有HTTP请求均衡的分配到每一台机器上,充分发挥所有机器的性能,提高服务的质量和用户体验.负载均衡常用的Web服务器软件有Nginx.HAProxy.LVS.Apache. Nginx负载均衡是通过upstream模块来实现的,常见四种负载策略: 轮循(默认:将每个请求均匀分配到每台服务器 最少连接:将请求分配给连接数最少的服务器 IP

Keepalived+LVS+Nginx负载均衡之高可用

Keepalived+LVS+Nginx负载均衡之高可用 上一篇写了nginx负载均衡,此篇实现高可用(HA).系统整体设计是采用Nginx做负载均衡,若出现Nginx单机故障,则导致整个系统无法正常运行.针对系统架构设计的高可用要求,我们需要解决Nginx负载均衡出现单机故障时,系统正常运行的需求.所以系统架构引入Keepalived组件,实现系统高可用. 一.Keepalived介绍 Keepalived是分布式部署系统解决系统高可用的软件,结合LVS(Linux Virtual Serve

Keepalived_tengine实现discuz负载均衡和高可用

前言: 上篇博文<keepalived_nginx实现discuz负载均衡和高可用>讲到,由于nginx将health_check功能放入到了商业版本,导致社区版本的nginx进行负载均衡,无法对后端的RS主机进行健康状态检测,所以现在准备使用tengine来取代nginx.我们只需要将前一章节VS主机上的nginx替换为tengine即可. 配置: Host VS1 卸载nginx,安装tengine # yum remove -y nginx # yum groupinstall -y &

Nginx反向代理、负载均衡, keepalived高可用

Nginx反向代理.负载均衡,  keepalived高可用 Nginx反向代理.负载均衡,  keepalived高可用 一.Nginx反向代理.负载均衡 1.什么是反向代理.负载均衡 严格的说,Nginx仅仅是作为Nginx Proxv反向代理使用的,因为这个反向代理功能表现的效果是负载均衡集群的效果,所以本文称之为Nginx负载均衡.那么,反向代理和负载均衡有什么区别呢? 普通负载均衡软件,例如大名鼎鼎的LVS,其实现的功能只是对请求数据包的转发(也可能会改写数据包).传递,其中DR模式明

实战 LVS+Keepalived 实现负载均衡和高可用

1.软件介绍 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统,可以实现LINUX平台下的简单负载均衡. LVS负载均衡有4种负载均衡方式 a.DR 模式 b.NAT 模式 c.Tunnel 模式 d.Full NAT 模式 LVS负载均衡8种调度算法 (rr,wrr,lc,wlc,lblc,lblcr,dh,sh) 各个模式的原理在此不再赘述,本文使用DR模式,rr调度算法. Keepalived 是运行在lvs 之上,它的主要功能是

nginx负载均衡+keepalived高可用完全配置小结

nginx做负载均衡(无高可用) 大致步骤. 1. 前端 nginx安装,pcre安装,具体步骤不解释. 2. 负载配置 A. 默认轮循 在nginx.conf  里加入一行 include upstream.conf,然后所有的负载均衡的配置直接在upstream.conf里配置. [[email protected] conf]# cat upstream.conf upstream httpservers { server 192.168.137.10:80 weight=5; serve

Nginx代理MogileFS并实现负载均衡和高可用

Nginx代理MogileFS并实现负载均衡和高可用 MogileFS nginx 负载均衡 大纲 实验环境 实验步骤 配置MogileFS 配置Nginx 总结 前言 上篇文章我们了解分布式系统和MogileFS的基本使用, 但是那样的架构是有问题的, 本篇文章我们来了解一下如何使用nginx-mogilefs-module-master模块来构建一个不一样的 MogileFS Cluster 实验拓扑 实验环境 主机 IP 功用 node6 172.16.1.7 Nginx,Tracker,

nginx反向代理tomacat+keepalived实现动静分离、负载均衡、高可用

本文的动静分离主要是通过nginx+tomcat来实现,其中nginx处理图片.html.JS.CSS等静态文件,tomcat处理jsp.servlet等动态请求 服务器名称                                 系统版本                           预装软件                     IP地址 Nginx服务器                             CentOS 7 最小安装              Nginx