Apache2.4 + Tomcat7 负载均衡配置

一、配置tomcat 多启动

1.下载免安装版 tomcat7

http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.81/bin/apache-tomcat-7.0.81-windows-x64.zip

解压tomcat7免安装版,复制三个解压tomcat文件夹

(tomcat7-1,tomcat7-2,tomcat7-3)

2. 配置环境变量

变量名=变量值

TOMCAT_HOME1 = tomcat解压路径(F:\server\tomcat7-1)

CATALINA_HOME1=%TOMCAT_HOME1%

CATALINA_BASE1=%TOMCAT_HOME1%

3.打开tomcat7-1\bin文件夹

打开 startup.bat 在最前面添加

SET JAVA_HOME =jdk安装路径(D:\ProgramFiles\Java\jdk1.8.0_144)

SET CATALINA_HOME=解压路径 (F:\server\tomcat7-1)

4.修改新的tomcat7-1中的startup.bat

把其中的CATALINA_HOME改为CATALINA_HOME1

(备注:如果配置不成功的情况下,要打开shutdown.bat在最前面添加SET JAVA_HOME =jdk安装路径(D:\ProgramFiles\Java\jdk1.8.0_144)

SET CATALINA_HOME=解压路径 (F:\server\tomcat7-1)

5.修改新的tomcat7-1中的catalina.bat

把其中的    CATALINA_HOME改为CATALINA_HOME1,

CATALINA_BASE改为CATALINA_BASE1。

6.修改tomcat7-1 conf/server.xml文件:

6.1 <Server port="8005" shutdown="SHUTDOWN">把端口改为没有是使用的端口。

6.2 <Connector port="8080" protocol="HTTP/1.1"  connectionTimeout="20000"redirectPort="8443" /> 把端口改为没有是使用的端口。

6.3<Connector port="8009" enableLookups="false"

redirectPort="8443" protocol="AJP/1.3" /> 把端口改为没有是使用的端口。

 7.点击startup.bat启动 成功!

8. tomcat7-2,tomcat7-3 重复2~6 步顺序进行即可!

(在cmd命令行执行1、netstat –ano 查看端口情况2、tasklist 查看运行程序情况3、杀掉占用你多需要端口的程序)

二、配置apache2.4

1.下载地址:https://www.apachehaus.com/cgi-bin/download.plx?dli=gUGZkaVtWQz4keZtWTHBncKVlUGR1UwFXVXFDM

2.然后打开以管理员身份打开 cmd 进入到apache解压目录的bin文件夹中,bin文件夹中的httpd.conf中的目录要更改为你解压的目录

3.接着运行 httpd.exe -k install    (卸载Apache服务:httpd -k uninstall -n apache2.4)

4. 打开conf/httpd.conf文件 在38行 Define SRVROOT "你apache解压的目录" (F:\server\Apache24)

5.运行bin文件夹中的ApacheMonitor.exe

端口号有冲突 只需在conf目录下的httpd.conf文件和httpd-vhosts.conf中更改端口号即可

(注:在配置文件中的 66行 80 改为88  224行 80 改为88)

出现缺少140.ddl 组件时 下载安装组件:

https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=48145

 

三、配置apache2.4 + tomcat7

①打开conf/httpd.conf文件,加载以下模块。

#---------------------Session start------------------------

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

LoadModule slotmem_shm_module modules/mod_slotmem_shm.so

LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so

#----------------------end---------------------

③去掉Include conf/extra/httpd-vhosts.conf的注释标记#。(有的需要,有的不需要)

④在文件末尾加反向代理

ProxyRequests off

ProxyPassReverse / balancer://tomcatcluster/

<proxy balancer://cluster>

BalancerMember ajp://127.0.0.1:81009 loadfactor=1 route=jvm1

BalancerMember ajp://127.0.0.1:92009 loadfactor=1 route=jvm2

BalancerMember ajp://127.0.0.1:93009 loadfactor=1 route=jvm3

</proxy>

#参数"loadfactor"表示后台服务器负载到由Apache发送请求的权值,

⑤修改conf/extra/httpd-vhosts.conf文件。

注释掉所有的dummy-host,添加以下内容

<VirtualHost *:80>

ServerAdmin  localhost

ServerName localhost

ServerAlias localhost

ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On

ProxyPassReverse / balancer://cluster/

ErrorLog "logs/lbtest-error.log"

CustomLog "logs/lbtest-access.log" common

</VirtualHost>

#80 为apache 如果apache默认端口修改则这个端口号也需要修改

2.配置Tomcat

修改tomcat7-1,tomcat7-2,tomcat7-3 conf/server.xml文件

④ <Engine name="Catalina" defaultHost="localhost">在末尾加 jvmRoute="jvm1"

同时修改Tomcat2 ,Tomcat3 的这个标签为jvmRoute="jvm2",jvmRoute="jvm3"

⑤<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>改为

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster">

<Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>

</Cluster>

配置完成之后,启动两个Tomcat测试一下Tomcat是否可以正常启动

如果可以正常启动,则进行下面步骤

在webApps下面添加Test目录,添加Test.jsp

<%@ page contentType="text/html; charset=GBK" %>

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

<html><head><title>Cluster App Test</title></head>

<body>

Server Info:

<%

out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>");%>

<%

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

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

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

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

session.setAttribute(dataName, dataValue);

}

out.print("<b>Session 列表</b>");

Enumeration e = session.getAttributeNames();

while (e.hasMoreElements()) {

String name = (String)e.nextElement();

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

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

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

}

%>

<form action="test.jsp" method="POST">

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

<br>

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

<br>

<input type=submit>

</form>

</body>

</html>

创建WEB-INF目录,创建web.xml

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

<web-app xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"

version="3.0"

metadata-complete="true">

<distributable />

</web-app>

最后启动Apache2.4,在页面中输入localhost:88\test\test.jsp进行测试。

该地址的端口访问的是Apache端口

session 共享两种方式 通过修改conf/server.xml文件 中的<Cluster></Cluster>节点

1.session sticky:会话不复制

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> #注释掉

2.session replication:会话复制

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> #去掉该行注释即可实现session复制功能

时间: 2024-10-22 19:51:42

Apache2.4 + Tomcat7 负载均衡配置的相关文章

Apache2.2+tomcat7 负载均衡配置

思路及步骤:第一步配置tomcat,第二步配置apache 服务器,第三步添加项目到tomcat中并测试 第一步配置tomcat 1,打开 第一个tomcat,conf文件夹下的server.xml ,找到如下节点并配置: <Connector port="10009" protocol="AJP/1.3" redirectPort="8443" /> <Engine name="Catalina" defa

Nginx + Tomcat Windows下的负载均衡配置

一.为什么需要对Tomcat服务器做负载均衡?    Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果超过500的并发数会出现Tomcat不能响应新的请求的情况,严重影响网站的运行.同时如果访问量非常大的情况下,Tomcat的线程数会不断增加.因此会占据大量内存,严重时出现内存溢出的现象,这时需要重启Tomcat以释放内存,阻断了网站的运行.    所以对Tomcat做负载均衡便很有必要.目前可以和Tomcat做负载均衡的主流服务器是Apache,但是Nginx由于功能

Apache+Jetty负载均衡配置

Apache和jetty组合使用有三种方式: 1. 使用Apache mod_proxy和一个普通的Jetty HTTP连接器. 2. 使用Apache mod_proxy_ajp和Jetty AJP连接器. 3. 使用Apache mod_jk和Jetty AJP连接器. 其中,Jetty推荐使用第一种.推荐理由如下: 1. 使用HTTP,Jetty的性能更好. 2. AJP协议文档缺乏,且许多版本是违规的. 如果要使用AJP,mod_proxy_ajp优于mod_jk.以前,mod_jk的负

apache2.2.14 负载均衡过程中遇到问题记录;

apache2.2.14负载均衡不需要再用插件: 配置文件 httpd.conf 加入配置: LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_connect_module modules/mo

Apache2.2+Tomcat7.0整合配置详解

一.简单介绍 Apache.Tomcat Apache HTTP Server(简称 Apache),是 Apache 软件基金协会的一个开放源码的网页服务器,可以在 Windows.Unix.Linux 等操作系统中运行是最流行的Web服务器软件之一.Apache 反应速度快,运行效率高,但只支持HTML等静态页面(加载插件后也可支持 PHP 页面).Apache Tomcat 是由 Apache 软件基金协会与 Sun 公司联合开发的一款Web服务器,它除了支持HTML等静态页面外,还支持J

Nginx实现集群的负载均衡配置过程详解

Nginx实现集群的负载均衡配置过程详解 Nginx 的负载均衡功能,其实实际上和 nginx 的代理是同一个功能,只是把代理一台机器改为多台机器而已. Nginx 的负载均衡和 lvs 相比,nginx属于更高级的应用层,不牵扯到 ip 和内核的修改,它只是单纯地把用户的请求转发到后面的机器上.这就意味着,后端的 RS 不需要配置公网. 一.实验环境 Nginx 调度器 (public 172.16.254.200 privite 192.168.0.48)RS1只有内网IP (192.168

华为MSTP负载均衡配置示例

8.6.7   MSTP负载均衡配置示例 本示例拓扑结构如图8-38所示,SwitchA.SwitchB.SwitchC和SwitchD都运行MSTP.它们彼此相连形成了一个环网,因为在SwitchA与SwitchB之间,以及SwitchC与SwitchD之间都存在冗余链路.为实现VLAN2-VLAN10和VLAN11-VLAN20的流量负载分担,本示例采用MSTP协议配置了两个MSTI,即MSTI1和MSTI2. 图8-38  MSTP配置示例 1.    配置思路分析 (1)在四台交换机创建

两种web最简单的负载均衡配置(nginx haproxy)

-------------------------------------------------------------- Centos 6.6 环境  php  http://lampol.blog.51cto.com/11662628/1851016 -------------------------------------------------------------- 负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器.FTP服务器

Nginx负载均衡配置实例详解

负载均衡负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦.先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况.那么负载均衡的前提就是要有多台服务器才能实现,也就是两台以上即可. 负载均衡的类别轮询            -应用程序轮流来响应请求(nginx默认采用)最少连接    -请求被分配到活动连接最少的服务器上ip-hash