- 浏览: 66029 次
- 性别:
- 来自: 江苏
文章分类
最新评论
-
donghustone:
楼主好强大!!
resin2.1.17 官方下载地址 -
MultiArrow:
这么说的话好像就只有CentOS没有一个比较强的企业在使用。。 ...
诸多linux,但选一个做服务器
1.下载 在http://tomcat.apache.org/connectors-doc/
mod_jk-1.2.30-httpd-2.2.3.so
apache2.2,tomcat6,下载下来
2. 把
mod_jk-1.2.30-httpd-2.2.3.so
放到apache2.2/modules下
3. apache2.2 配置3个文件:
(1)mod_jk.conf #负责配置mod-jk 模块新建一个文件,放置在apache2.2/conf/extra 文件夹下
内容:
#####################
# jk module
#####################
#加载jk模块
LoadModule jk_module modules/mod_jk-1.2.30-httpd-2.2.3.so
#表明workers文件,里面配置的workers用于负责响应不同请求,负载均衡等
JkWorkersFile conf/workers.properties
#用于配置特定uri由哪个worker来响应
JkMountFile conf/uriworkermap.properties
#日志文件
JkLogFile logs/mod_jk.log
#日志打印级别
JkLogLevel info
#日志格式
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
#请求日志
JkRequestLogFormat "%w %V %T"
#有种status worker,用于监控 mod-jk状态
#限制worker jk-manager 只能在本地访问
<Location /jk-manager>
JkMount jk-manager
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Location>
(2)workers.properties 里面配置的workers用于负责响应不同请求,负载均衡等
此文件可在 jk 项目的源文件里获得到
内容:
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Note that the distributed version of this file requires modification
# before it is usable.
#
# Reference documentation: http://tomcat.apache.org/connectors-doc/reference/workers.html
#
# As a general note, the characters $( and ) are used internally to define
# macros. Do not use them in your own configuration!!!
#
# Whenever you see a set of lines such as:
# x=value
# y=$(x)\something
#
# the final value for y will be value\something
# Define two status worker:
# - jk-status for read-only use
# - jk-manager for read/write use
worker.list=jk-status
worker.jk-status.type=status
worker.jk-status.read_only=true
worker.list=jk-manager
worker.jk-manager.type=status
# We define a load balancer worker
# with name "balancer"
worker.list=balancer
worker.balancer.type=lb
# error_escalation_time: seconds, default = recover_time/2 (=30)
# Determines, how fast a detected error should switch from
# local error state to global error state
# Since: 1.2.28
worker.balancer.error_escalation_time=0
# - max_reply_timeouts: number, default=0
# If there are to many reply timeouts, a worker
# is put into the error state, i.e. it will become
# unavailable for all sessions residing on the respective
# Tomcat. The number of tolerated reply timeouts is
# configured with max_reply_timeouts. The number of
# timeouts occuring is divided by 2 once a minute and the
# resulting counter is compared against max_reply_timeouts.
# If you set max_reply_timeouts to N and the errors are
# occuring equally distributed over time, you will
# tolerate N/2 errors per minute. If they occur in a burst
# you will tolerate N errors.
# Since: 1.2.24
worker.balancer.max_reply_timeouts=10
# Now we add members to the load balancer
# First member is "node1", most
# attributes are inherited from the
# template "worker.template".
worker.balancer.balance_workers=node1
worker.node1.reference=worker.template
worker.node1.host=localhost
worker.node1.port=8109
# Activation allows to configure
# whether this node should actually be used
# A: active (use node fully)
# D: disabled (only use, if sticky session needs this node)
# S: stopped (do not use)
# Since: 1.2.19
worker.node1.activation=A
# Second member is "node2", most
# attributes are inherited from the
# template "worker.template".
worker.balancer.balance_workers=node2
worker.node2.reference=worker.template
worker.node2.host=localhost
worker.node2.port=8209
# Activation allows to configure
# whether this node should actually be used
# A: active (use node fully)
# D: disabled (only use, if sticky session needs this node)
# S: stopped (do not use)
# Since: 1.2.19
worker.node2.activation=A
# Finally we put the parameters
# which should apply to all our ajp13
# workers into the referenced template
# - Type is ajp13
worker.template.type=ajp13
# - socket_connect_timeout: milliseconds, default=0
# Since: 1.2.27
worker.template.socket_connect_timeout=5000
# - socket_keepalive: boolean, default=false
# Should we send TCP keepalive packets
# when connection is idle (socket option)?
worker.template.socket_keepalive=true
# - ping_mode: Character, default=none
# When should we use cping/cpong connection probing?
# C = directly after establishing a new connection
# P = directly before sending each request
# I = in regular intervals for idle connections
# using the watchdog thread
# A = all of the above
# Since: 1.2.27
worker.template.ping_mode=A
# - ping_timeout: milliseconds, default=10000
# Wait timeout for cpong after cping
# Can be overwritten for modes C and P
# Using connect_timeout and prepost_timeout.
# Since: 1.2.27
worker.template.ping_timeout=10000
# - connection_pool_minsize: number, default=connection_pool_size
# Lower pool size when shrinking pool due
# to idle connections
# We want all connections to be closed when
# idle for a long time in order to prevent
# firewall problems.
# Since: 1.2.16
worker.template.connection_pool_minsize=0
# - connection_pool_timeout: seconds, default=0
# Idle time, before a connection is eligible
# for being closed (pool shrinking).
# This should be the same value as connectionTimeout
# in the Tomcat AJP connector, but there it is
# milliseconds, here seconds.
worker.template.connection_pool_timeout=600
# - reply_timeout: milliseconds, default=0
# Any pause longer than this timeout during waiting
# for a part of the reply will abort handling the request
# in mod_jk. The request will proceed running in
# Tomcat, but the web server resources will be freed
# and an error is send to the client.
# For individual requests, the timeout can be overwritten
# by the Apache environment variable JK_REPLY_TIMEOUT.
# JK_REPLY_TIMEOUT since: 1.2.27
worker.template.reply_timeout=300000
# - recovery_options: number, default=0
# Bit mask to configure, if a request, which was send
# to a backend successfully, should be retried on another backend
# in case there's a problem with the response.
# Value "3" disables retries, whenever a part of the request was
# successfully send to the backend.
worker.template.recovery_options=3
(3)uriworkermap.properties
/*=balancer
/jk-manager=jk-manager
!/*.gif=balancer
!/*.jpg=balancer
!/*.png=balancer
!/*.css=balancer
!/*.js=balancer
!/*.htm=balancer
!/*.html=balancer
!/*.exe=balancer
!/*.rar=balancer
!/*.zip=balancer
!/*.txt=balancer
!/*.xml=balancer
4.tomcat6配置文件
将tomcat6解压到两个文件夹下,分别作为负载均衡的应用服务器node1,node2
将node1,node2的server.xml中的端口都改下,否则冲突起不来,如下
node1:
(1)
<Server port="8005" shutdown="SHUTDOWN">
改成
<Server port="8105" shutdown="SHUTDOWN">
(2)
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
改成
<Connector port="8180" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
(3)
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
改成
<Connector port="8109" protocol="AJP/1.3" redirectPort="8443" />
node2同理分别改成 8205 8280 8209
5.测试。重启apache 服务器,启动tomcat6 node1,node2
新建文件夹 testloadblance,里面建一个1.jsp
内容:
<%
System.out.println("this is a test !");
%>
将testloadblance分别复制到 node1,node2的webapps文件夹下,
在浏览器里输入网址 http://localhost:8080/testloadblance/1.jsp
会在 node1,node2的控制台下看到输出。表明成功
如下图:
6.做backup server,位保持企业应用的高可用性,需要做好备用服务器
利用上面的配置稍作修改即可,
(1)在worker.properties里添加:
worker.node1.redirect=node2#出错就转发到节点2
(2)
worker.node2.activation=A
改成
#disabled,除非发生了错误并且处理失败了,否则就禁用所有发给worker2的请求
worker.node2.activation=D
ok,重启所有服务器,刷新页面,会发下只有节点1 node1有响应了,把node1 shutdown,在刷新页面,会发现node2开始响应了,ok
发表评论
-
crontab 中使用环境变量
2012-11-12 09:40 1944环境:(产品,平台,机型,软件版本,等)AIX5L 问 ... -
mysql 里常用的函数
2010-08-30 11:46 862以前用oracle的nvl等函数很方便,mysql的不熟悉,用 ... -
MySQL与事务 MyISAM 和InnoDB [转]
2010-08-27 10:03 1235InnoDB和MyISAM是许多人在 ... -
dll already loaded in another classloader 错误解决
2010-08-24 13:40 2484遇到此问题,从网上找了下答案,记录之 是由于web重启 ... -
使用javamail发邮件报错
2010-08-07 17:12 1950使用myeclipse 开发 javaee1. ... -
【转】集群中几种session同步解决方案的比较
2010-07-29 22:43 1028集群中几种session同步解决方案的比较 ... -
apache workers.properties
2010-06-26 14:43 1217[转]http://hi.baidu.com/youdianw ... -
xp远程连接win2008
2009-12-07 22:16 978xp远程桌面连接不支持nla,网络及身份验证,在注册表里修改如 ... -
apache ab 使用
2010-04-22 23:29 698格式: ./ab [options] [http://]hos ... -
[转]三大WEB服务器(Apache ,Lighttpd,Nginx)对比分析
2010-04-23 01:07 678一.软件介绍(apache lig ... -
resin2.1.17 官方下载地址
2010-04-23 02:34 2456官网上已经没有相关下载链接,但是文件还在,趁早下吧,用3以上版 ... -
raid 名词解释
2010-05-26 17:06 955RAID级别为不同冗余类型在逻辑驱动器上的应用。 它可以提高逻 ... -
诸多linux,但选一个做服务器
2010-05-28 00:01 1270RHEL对于我们来说最大的 ... -
win2008server 安全配置
2010-06-06 20:28 988【转】系统安装 分区: 服务器的硬盘是320G,分成了4 ... -
myeclips resin 出现 a full jdk must be specified 错误
2010-06-13 19:02 953到window/Preferences/java->in ... -
apache resin ngnix 性能比较
2010-06-15 01:56 1284静态页面测试,静态页面包括css,js,img ab -c 2 ... -
DNS 服务器 清除缓存
2010-06-22 11:05 1362DNS 缓存不及时清理会导致解析错误,网页打不开。server ...
相关推荐
以上知识点总结了文档中提到的关于Tomcat6和Apache2.2实现负载均衡和集群的核心概念、组件、配置方法以及可能遇到的问题和解决方案。这些知识点对于希望在Linux环境中部署Tomcat集群的IT专业人员来说非常有价值。
本文将详细介绍如何利用 Apache 和 Tomcat 在 Linux 环境下构建一个高效的负载均衡集群系统。 **环境描述:** - **Apache 服务器配置:** - IP 地址: 192.168.1.20 - 安装软件: httpd-2.2.6 - 安装路径: `/usr/...
在 Tomcat 中实现负载均衡的一个常见方法是使用 Apache HTTP Server 作为前端代理。这种方式下,Apache 使用 mod_jk 或 mod_proxy 模块来分发请求到后端的多个 Tomcat 实例。这里以 mod_jk 为例,展示基本配置: 1....
本文详细介绍了如何使用Apache作为负载均衡器实现Tomcat集群的配置,以及如何利用Terracotta实现Ehcache的集群配置。通过这种方式,可以有效提高Web应用的稳定性和性能,同时也能更好地应对高并发场景。需要注意的是...
这种规模的需求对于单台服务器来说是较大的挑战,因此考虑采用Apache + Tomcat集群的方式来分担负载并提高系统的稳定性和响应速度。 #### 二、硬件与软件环境 1. **网络带宽**: 100Mbps。 2. **操作系统**: - ...
在这个配置中,有两个Apache服务器作为高可用性(HA)的主备节点,分别配置为172.24.186.82(MASTER)和172.24.186.83(BACKUP),并共享一个虚拟IP地址,通过Apache的负载均衡功能调用四台东方通服务器。Apache...