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复制功能
Apache2.4 + Tomcat7 负载均衡配置的更多相关文章
- Apache2.2+tomcat7 负载均衡配置
思路及步骤:第一步配置tomcat,第二步配置apache 服务器,第三步添加项目到tomcat中并测试 第一步配置tomcat 1,打开 第一个tomcat,conf文件夹下的server.xml ...
- Apache2.2+Tomcat7.0整合配置详解
一.简单介绍 Apache.Tomcat Apache HTTP Server(简称 Apache),是 Apache 软件基金协会的一个开放源码的网页服务器,可以在 Windows.Unix.Lin ...
- centos6 Nginx+Tomcat负载均衡配置
一.Nginx简介 Nginx是一个web服务器也可以用来做负载均衡及反向代理使用,目前使用最多的就是负载均衡,具体简介我就不介绍了百度一下有很多,下面直接进入安装步骤 二.Nginx安装 1.下载N ...
- Nginx + Tomcat Windows下的负载均衡配置
Nginx + Tomcat Windows下的负载均衡配置 一.为什么需要对Tomcat服务器做负载均衡? Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果超过50 ...
- nginx安装及负载均衡配置
Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor Sysoev 为俄罗斯访问量第二 ...
- Nginx负载均衡配置实例详解
负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦. 负载均衡 先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可 ...
- Nginx 简单的负载均衡配置示例(转载)
原文地址:Nginx 简单的负载均衡配置示例(转载) 作者:水中游于 www.s135.com 和 blog.s135.com 域名均指向 Nginx 所在的服务器IP. 用户访问http://www ...
- Nginx负载均衡配置实例详解(转)
负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦. 负载均衡 先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可 ...
- Nginx做NodeJS应用负载均衡配置实例
这篇文章主要介绍了Nginx做NodeJS应用负载均衡配置实例,本文直接给出配置实例,需要的朋友可以参考下. 负载均衡可以把用户的请求分摊到多个服务器上进行处理,从而实现了对海量用户的访问支持.负载均 ...
随机推荐
- MVC项目中使用百度地图
已经很久没更新博客了,因为最近一直在学习前端的知识,没那么多时间,写博客或者写文章不但没有钱,写得好还好说,如果写得不好,一些吃瓜群众,不仅要喷你,搞不好还要人身攻击就不好了.所以写博客的人,脸皮得厚 ...
- UEditor编辑器第一次赋值失败的解决方法
网上查了很多方式都不是很好用,最后想到了这样的处理方式 首先在js中定义一个全局变量 var ue = null; 然后在初始化显示编辑器的时候js这样写 if (ue == null) { ue = ...
- 一款代码扫描工具 火线!!!! fireline
1. 在火线官网进行火线相关文件的下载,下载后的文件为fireline.jar 2.运行fireline.jar文件前请先确认系统环境中已安装Java JDK. java-version 查看 3 ...
- ThreadLoacl的反思
在我的随笔 spring mvc:注解@ModelAttribue妙用 中使用ThreadLocal来简化spring mvc控制层controller中的ModelMap,Response.Jso ...
- 小而美的 React Form 组件
背景 之间在一篇介绍过 Table 组件< React 实现一个漂亮的 Table > 的文章中讲到过,在企业级后台产品中,用的最多且复杂的组件主要包括 Table.Form.Chart, ...
- 深入理解 JavaScript 中的 replace 方法(转)
replace方法是属于String对象的,可用于替换字符串. 简单介绍: StringObject.replace(searchValue,replaceValue) StringObject:字符 ...
- WebForm页面间传值方法(转)
Asp.NET WEB FORMS 给开发者提供了极好的事件驱动开发模式.Asp .NET为我们提供了三种方式,一种是可以通过用QueryString来传送相应的值,再一种是通过session变量来传 ...
- 小程序脚本语言WXS,你想要的都在这里了
WXS脚本语言是 Weixin Script脚本的简称,是JS.JSON.WXML.WXSS之后又一大小程序内部文件类型.截至到目前小程序已经提供了5种文件类型. 解构小程序的几种方式,其中一种方式就 ...
- 最近一直在做java爬虫,有些感悟心得,分享给大家;
首先,看完这篇文章,不能保证你成为大神,但是却可以让你懂得什么是爬虫,如何使用爬虫,如何利用http协议,侵入别人的系统,当然只是一些简单的教程,拿到一些简单的数据: 先上代码,在一步一步讲解: 这是 ...
- vue中组件的四种方法总结
希望对大家有用 全局组件的第一种写法 html: <div id = "app"> <show></show></div> js: ...