Apache配置负载均衡和集群使用mod_jk的方式比较多,但是mod_jk已经停止更新,并且配置相对复杂。Apache2.2以后,提供了一种原生的方式配置负载均衡和集群,比mod_jk简单很多。

1.Apache配置反向代理 正向代理一般是指PC连接到代理服务器,由代理服务器转发请求到网站。而反向代理指的是用户将请求发送给反向代理服务器,由反向代理服务器将请求路由转发到具体的服务器。 比如机房有两个Tomcat提供服务,但是由于防火墙的原因,用户不能直接访问。这个时候,可以使用反向代理服务器,将请求转发到Tomcat。而防火墙只需要开启反向代理服务器的端口即可。

下面实验假设内网Tomcat提供谷歌服务,外网通过反向代理,访问这个服务。  修改/etc/httpd/conf/httpd.conf 增加下面的配置

访问链接:http://192.168.1.105/google

Apache反向代理设置方法 http://www.linuxidc.com/Linux/2014-06/102751.htm

Apache做反向代理服务器 http://www.linuxidc.com/Linux/2014-02/96839.htm

日志分析工具Awstats实战之Apache篇-多站点日志分析 http://www.linuxidc.com/Linux/2013-11/92273.htm

2.负载均衡     负载均衡应该是最常用的横向扩展技术。Apache负载均衡将前端的请求,按照配置的比例转发给后台的Tomcat服务器,从而提高了并发访问量。作为mod_proxy方式,配置负载均衡十分简单,就是在反向代理的基础上,将请求发送到balancer。     首先,修改War包程序的web.xml文件,增加<distributable/>标识。     其次,修改每个Tomcat服务器的server.xml,配置jvmRoute        最后,修改apache的httpd.conf文件,增加如下内容

Apache负载均衡的实现 http://www.linuxidc.com/Linux/2014-09/106581.htm

CentOS 6.4下LVS负载均衡之VS/NAT机制(一主一从提供冗余) http://www.linuxidc.com/Linux/2014-04/99982.htm         其中ProxyPass /images ! 表示/images开头的请求不会转发给Tomcat,而是作为静态资源在Apache的images目录下寻找资源文件。     而反向代理将所有的/Test请求都转发给名叫mycluster的balancer。     而这个balancer有两个Tomcat成员。

loadfactor表示请求的权值,该值默认为1,可以将该值设置为1到100之间的任何值。    lbmethod表示负载均衡的算法,lbmethod可能的取值有: lbmethod=byrequests 按照请求次数均衡(默认)                lbmethod=bytraffic 按照流量均衡 lbmethod=bybusyness 按照繁忙程度均衡(总是分配给活跃请求数最少的服务器)

stickySession=JSESSIONID表示开启粘性Session。他的意思是如果第一次请求分到了worker1的Tomcat,那么这个用户的后续请求,都会分配给worker1的这个Tomcat。     使用一个测试页面查看粘性Session

index.jsp

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

<%@ page import="java.util.*" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

<%

System.out.println(session.getId());

out.println("<br> SESSION ID:" + session.getId()+"<br>");

// 如果有新的请求,则添加session属性

String name = request.getParameter("name");

if (name != null && name.length() > 0) {

String value = request.getParameter("value");

session.setAttribute(name, value);

}

out.print("<b>Session List:</b>");

Enumeration<String> names = session.getAttributeNames();

while (names.hasMoreElements()) {

String sname = names.nextElement();

String value = session.getAttribute(sname).toString();

out.println( sname + " = " + value+"<br>");

System.out.println( sname + " = " + value);

}

%>

<form action="index.jsp" method="post">

名称:<input type=text size=20 name="name">

<br>

值:<input type=text size=20 name="value">

<br>

<input type=submit value="提交">

</form> </body>

</html> 可以看到,由于粘性Session的作用,对网页的反复操作,都被Apache发送到了同一个Tomcat(worker2)

查看firefox的cookie信息,apache就是根据JSESSIONID后面的routeid实现粘性Session的。

本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2014-09/106634.htm

Apache配置反向代理、负载均衡和集群(mod_proxy方式)的更多相关文章

  1. Nginx反向代理+负载均衡简单实现(http方式)

    1)nginx的反向代理:proxy_pass2)nginx的负载均衡:upstream 下面是nginx的反向代理和负载均衡的实例: 负载机:A机器:103.110.186.8/192.168.1. ...

  2. Linux系统中使用Nignx配置反向代理负载均衡

    目录 使用nginx实现动静分离的负载均衡集群 使用nginx实现负载均衡和动静分离 使用nginx实现动静分离的负载均衡集群 Nginx官网源码包下载链接:http://nginx.org/en/d ...

  3. (转)Apache实现反向代理负载均衡

    说到负载均衡LVS这套技术,有很多种实现方法. 本文所说,主要就是利用apache服务器实现反向代理,实现负载均衡. 首先,传统的正向代理如下图所示,正如我们用的游戏加速代理,大多的个人PC把请求发给 ...

  4. nginx ----> nginx配置/反向代理/负载均衡

    nginx [engine x]是一个HTTP和反向代理服务器,一个邮件代理服务器和一个通用的TCP/UDP代理服务器,最初由Igor Sysoev编写. 环境: Ubuntu16.04 安装ngin ...

  5. Nginx反向代理+负载均衡简单实现(https方式)

    背景:A服务器(192.168.1.8)作为nginx代理服务器B服务器(192.168.1.150)作为后端真实服务器 现在需要访问https://testwww.huanqiu.com请求时从A服 ...

  6. Tomcat:利用Apache配置反向代理、负载均衡

    本篇主要介绍apache配置反向代理,介绍了两种情况:第一种是,只使用apache配置反向代理:第二种是,apache与应用服务器(tomcat)结合,配置反向代理,同时了配置了负载均衡. 准备工作 ...

  7. 反向代理负载均衡之APACHE

    反向代理负载均衡之APACHE 一.反向代理1.1 介绍反响代理 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将 ...

  8. Nginx 反向代理 负载均衡 虚拟主机配置

    Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代理服务器的作用,区分正向代理和反向代理的区别,搭建使用Nginx反向搭理和负载均衡,了解Nginx常 ...

  9. 【转】Nginx 反向代理 负载均衡 虚拟主机配置

    原文:http://www.cnblogs.com/itdragon/p/8059000.html Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代 ...

随机推荐

  1. Timed out after 30000 ms while waiting to connect

    今天使用mongo-java-drive写连接mongo的客户端,着实被上面那个错坑了一把.回顾一下解决过程: 报错: com.mongodb.MongoTimeoutException: Timed ...

  2. Python 元组(Tuple)操作详解

    Python的元组与列表类似,不同之处在于元组的元素不能修改,元组使用小括号, 列表使用方括号,元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可 一.创建元组 代码如下: tup1 = (' ...

  3. 【NOIP2016】蚯蚓

    Description 本题中,我们将用符号 ⌊c⌋表示对 cc 向下取整,例如:⌊3.0⌋=⌊3.1⌋=⌊3.9⌋=3. 蛐蛐国最近蚯蚓成灾了!隔壁跳蚤国的跳蚤也拿蚯蚓们没办法,蛐蛐国王只好去请神刀 ...

  4. C# 动态(不定)类型和不定参数数量,使用param写入CSV文档的最简单方法,提供excel(或记事本)阅读支持格式

    在开发一个项目,使用C#写入CSV文件时,虽并未遇到太多阻碍,但是很多小伙伴估计和我有过同样的想法.简单的写入CSV,固定参数数量就好了很简单写完.但是如果遇到你得到的数据参数数量和参数类型未知或者动 ...

  5. 《java编程思想》P140-P160(第七章复部+第八章部分)

    1.不用修饰符 修饰的方法或类,它们的修饰符是 默认修饰符,即 包访问权限(包内都可以用)(临时记的) 2. final数据: 对于基本类型,final使数值恒定不变,而对于对象引用,final使引用 ...

  6. django数据库迁移时候异常

    django数据库迁移时候异常 一.错误信息 Django在根据models生成数据库表时报 init() missing 1 required positional argument: 'on_de ...

  7. vi/vim编辑器使用方法详解

    vi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器.他是我们使用Linux系统不能缺少的工具.由于对Unix及li ...

  8. PHP array_replace_recursive

    1.函数的作用:比较键值,递归的替代数组中的元素 2.函数的参数: @params array $array1 @params array $array2 @params array $array3 ...

  9. 掌握git基本功

    前言 最近想把代码传到GitHub上,结果我发现的demo的npm全是本地安装,上穿到GitHub要死要死,几百M,然后我就搜了下怎么不上传node_modules弄了半天也没成功,于是准备静下心学一 ...

  10. Thief-Book 上班摸鱼神器

    Thief-Book 上班摸鱼神器 介绍 Thief-Book 是一款真正的摸鱼神器,可以更加隐秘性大胆的看小说. 隐蔽性 自定义透明背景,随意调整大小,完美融入各种软件界面 快捷性 三个快捷键,实现 ...