linux下apache负载均衡和jboss4集群
操作系统:RedHat AS 4 32bit Update 4
所需软件包:
Apache所用包:httpd-2.2.4.tar.gz
Jboss 所用包:jboss-4.0.2(windows与linux版本兼容)
JDK 所用包:jdk-6u10-beta-linux-i586-rpm.bin
整合所需包:tomcat-connectors-1.2.26-src.tar.gz
1安装JDK
sh jdk-6u2-linux-i586-rpm.bin
看到安装程序在询问您是否尊守许可协议页面 ,回车,空格都可以,看完协议.
出现一行字:Do you aggree to the above license terms? [yes or no]
安装程序在问您是否愿意遵守刚才看过的许可协议。当然要同意了,输入"y" 或 "yes" 回车。
在命令行输入:
vi /etc/profile
在里面添加如下内容
export JAVA_HOME=/usr/java/jdk1.6.0_10
export JAVA_BIN=/usr/java/jdk1.6.0_10/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
进入 /usr/bin/目录
cd /usr/bin
ln -s -f /usr/java/jdk1.6.0_02/jre/bin/java
ln -s -f /usr/java/jdk1.6.0_02/bin/javac
在命令行输入
java -version
屏幕输出:
java version "jdk1.6.0_10"
Java(TM) 2 Runtime Environment, Standard Edition (build jdk1.6.0_10)
Java HotSpot(TM) Client VM (build jdk1.6.0_10, mixed mode)
JDK1.6安装完毕.
2.安装Jboss
将Windows版本拷贝到linux目录,此文拷贝到/opt/jboss,安装Linux版本请参考网上资料。
3.安装Apache
tar –zxvf httpd-2.2.4.tar.gz
cd httpd-2.2.4
./configure-- prefix=/usr/local/termite/apache --enable-so --enable-vhost-alias --enable-rewrite --enable-deflate --enable-mods-shared=all --with-mpm=worker
make
make install
注:采用worker模式,没有原来的256进程限制。
根据实际情况,设置好Web端口、默认语言编码、默认页、虚拟目录等
4.安装tomcat-connectors-1.2.26-src.tar.gz
tar zxvf tomcat-connectors-1.2.26-src.tar.gz
cd tomcat-connectors-1.2.26-src
cd native
./configure --with-apxs=/usr/local/termite/apache/bin/apxs --with-java-home=/usr/java/jdk1.6.0_10 --with-java-platform=2 --enable-jni
make
cp apache-2.0/mod_jk.so /usr/local/termite/apache/modules/
注:如果此处的mod_jk.so是通过其它方法或者途径得到的,在后面启动apache的时候可能会提示:Cannot load /usr/local/termite/apache/modules/mod_jk.so into server: /usr/local/termite/apache/modules/mod_jk.so: invalid ELF header
file mod_jk.so 可能会显示 mod_jk.so: MS-DOS executable (EXE), OS/2 or MS Windows
而正确的应该显示mod_jk.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped
cd /usr/local/termite/apache/modules
chmod 755 mod_jk.so
5.Apache配置
修改/usr/local/termite/apache/conf/httpd.conf
将ServerName前#去掉,改为ServerName 127.0.0.1:8080
本例使用端口8080,修改Apache端口为8080,将Listen 80改成Listen 8080
末尾增加:Include conf/mod_jk.conf
在/usr/local/termite/apache/conf建立空文件mod_jk.conf,添加内容为:
# Load mod_jk module. Specify the filename
# of the mod_jk lib youve downloaded and
# installed in the previous section
#mod_jk
LoadModule jk_module modules/mod_jk.so
# Where to find workers.properties
JkWorkersFile conf/workers.properties
# Where to put jk logs
JkLogFile logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
JkMount /* loadbalancer
#apache will serve the static picture.
#JkUnMount /*.html loadbalancer
#JkUnMount /*.jpg loadbalancer
#JkUnMount /*.gif loadbalancer
#JkUnMount /*.swf loadbalancer
#JkUnMount /*.bmp loadbalancer
#JkUnMount /*.png loadbalancer
#Lookupon10
HostnameLookups Off
其中JkMount参数/*,表示此url请求转发到jboss集群处理,JkUnMount参数表示请求不转发,通常为静态请求,静态文件默认保存在/usr/local/termite/apache/htdocs目录
在/usr/local/termite/apache/conf建立空文件workers.propertie,增加以下内容:
worker.list=loadbalancer
# Define the first node...
worker.node1.port=8009
worker.node1.host=192.168.1.2
worker.node1.type=ajp13
worker.node1.lbfactor=1
worker.node1.local_worker=1
worker.node1.cachesize=1000
worker.node1.cache_timeout=600
worker.node1.socket_keepalive=1
worker.node1.socket_timeout=0
worker.node1.retries=3
# Define the second node...
worker.node2.port=8009
worker.node2.host=192.168.1.3
worker.node2.type=ajp13
worker.node2.lbfactor=1
worker.node2.local_worker=1
worker.node2.cachesize=1000
worker.node2.cache_timeout=600
worker.node2.socket_keepalive=1
worker.node2.socket_timeout=0
worker.node2.retries=3
# Now we define the load-balanc33ing behaviour
worker.loadbalancer.type=lb
worker.retries=3
worker.loadbalancer.balance_workers=node1,node2
worker.loadbalancer.sticky_session=1
#worker.loadbalancer.sticky_session_force=false
其中worker.node1.host中,node1代表节点名,host值为节点IP, 如果有更多节点,顺序定义更多的node段,并在worker.loadbalancer.balance_workers后全部列出,lbfactor 是负载分配权重,值越大分配的负载越多。worker.loadbalancer.sticky_session,设置为1使用粘着session,设置为0不使用粘着session。如果sticky_session设为true时,建议sticky_session_force也设为false,此参数表明如果集群中某台服务器在多次请求没有响应后,是否将当前的请求,转发到其它服务器上处理;sticky_session=true时,影响比较大,会导致转发到其它服务器上的请求,找不到原来的session,所以如果此时请求中有读取session中某些信息的话,就会导致应用的null异常。
sticky_session sticky_session_force 含义
true false SESSION会复制,有粘性
true true SESSION不复制,有粘性
false false SESSION会复制,无粘性
false true SESSION会复制,无粘性
启动Apache服务:
/usr/local/termite/apache/bin/apachectl start
6.配置各jboss节点
如果是以./run.sh -c all 来启动jboss服务,则默认是将cluster服务启动,无需做什么配置工作,只需确认相关文件是否存在即可。
确认…/server/all/deploy/下存在cluster-service.xml文件;
确认…/server/all/lib/下存在jgroups.jar文件,如果没有则重新安装jboss。
如果应用程序部署在default配置下,则需将上述的两个文件分别拷入…/server/default/deploy/、…/server /default/lib/目录下,直接双击…/bin/run.sh在终端中运行即可,或进入bin目录用./run.sh命令启动。
修改配置。本例中,提供服务的监听端口是8888,请根据实际情况修改。
vi /opt/jboss/server/default/deploy/jbossweb-tomcat55.sar/server.xml
找到<Engine name="jboss.web" defaultHost="localhost">,修改为<Engine name="jboss.web" defaultHost="localhost" jvmRoute="node1">
注意,jvmRoute是节点号,各节点的要与在apache的workers.properties中的定义相对应。
vi /opt/jboss/server/default/deploy/jbossweb-tomcat55.sar/META-INF/jboss-service.xml找到UseJK,改为true。
7.分布式热部署(distributable hot deploy)
其实,APACHE已经帮WEB开发者考虑到在CLUSTER环境下的部署应用问題,当CLUSTER环境下的所有JBOSS是以-c all的方式来启动的,那么將自动支持分布式热部署,对于WEB开发者而言,只要将支持cluster的应用,打包成EAR,WAR或SAR文件,放到%jboss%serverall arm下,那么处于同一CLUSTER中的其他节点会自动下载并且部署,JBOSS把这个称为Farm deploy。
这里有两点是需要注意的:(1)JBOSS的分布式热部署功能是在JBOSS启动后才有效,也就是说,要在JBOSS启动后,将打包后的EAR,WAR或 SAR文件发布到%jboss%serverall arm,同一CLUSTER中的其他节点才会自动下载并且部署;(2)JBOSS的分布式热部署功能只针对文件有效,也就是說只有將WEB项目打包成文件,JBOSS才能辨别并且通知同一CLUSTER中的其他节点。
8.测试服务
apache和jboss4负载均衡配置完毕
启动apache和各节点jboss服务
Apache启动和停止:
/usr/local/termite/apache/bin/apachectl start
/usr/local/termite/apache/bin/apachectl stop
或在/usr/local/termite/apache/bin目录下执行./httpd –k start,./httpd –k stop
Jboss启动和停止:
进入/opt/jboss/bin目录
./run.sh
./shutdown.sh -S
在浏览器中打入apache服务IP:8080;如能显示jboss信息,说明服务成功启动。
分享到:
相关推荐
Linux下apache负载均衡及JBoss集群详细文档
总结来说,配置Linux下的Apache负载均衡与JBoss集群,主要包括以下几个步骤:安装和配置JDK,安装和配置JBoss,设置Apache服务器,以及配置mod_jk模块和工作者属性。这种配置能够提高系统的稳定性和处理能力,是大型...
在Linux环境下实现Apache负载均衡和JBoss集群配置是一项涉及多个步骤的技术操作。下面将详细介绍这两个过程。 ### JDK安装与配置 1. **下载JDK**:首先需要下载1.5版本或以上的JDK安装包。根据版本不同,文件名也...
JBoss 4.2.3GA 集群配置与Apache负载均衡详解 在IT行业中,高可用性和负载均衡是企业级应用的关键要素。JBoss 4.2.3GA是一个流行的Java应用服务器,通过配置集群可以提高服务的稳定性和性能。而Apache作为Web服务器...
【配置流程】配置Linux下的Apache负载均衡及JBoss集群主要涉及以下步骤: 1. **安装JDK**:首先,需要在所有服务器节点上安装JDK并设置环境变量,确保Java运行环境的准备就绪。 2. **安装JBoss**:接着,安装JBoss...
在Linux环境下,配置httpd的负载均衡主要涉及以下几个步骤: 1. 安装httpd:首先确保Linux系统中已安装httpd,如果没有,可以通过包管理器如`yum`或`apt-get`进行安装。 2. 配置httpd:编辑httpd的配置文件(通常为...
Apache2.2+JBOSS 5 集群配置主要涉及在Linux环境下构建高可用性和负载均衡的服务器集群,以提升应用服务的稳定性和处理能力。以下是详细的知识点: 1. **JBoss集群架构**: JBoss 集群可以采用两种架构:客户端...
- **JBoss集群**:JBoss支持通过集群来实现高可用性和负载均衡。集群配置主要包括节点间的通信机制、集群管理工具的选择等。通过集群可以有效地分散负载,提升系统的响应速度和处理能力。 #### 粘性Session策略 - ...
在Linux环境下,搭建JBoss Enterprise Application Platform (EAP)的集群能够提高应用程序的可用性和可扩展性。JBoss EAP 6.4.0提供了两种运行模式:standalone(独立运行模式)和domain(域模式)。standalone模式...
通过上述步骤,可以在Linux环境下成功搭建JBoss EAP集群。domain模式不仅简化了运维工作,还提高了系统的可靠性和性能。此外,通过mod_cluster的支持,还可以实现更高级别的负载均衡和故障恢复机制。 总之,在构建...
本文将详细介绍如何在 Linux 系统下搭建 JBoss EAP 集群,包括域模式下的配置及 mod_cluster 的集成,以实现负载均衡和高可用性。 #### 二、环境准备 在开始之前,需要确保以下条件已满足: 1. **操作系统**:本文...
在Apache和JBoss的集群环境中,Apache作为反向代理服务器,接收来自客户端的请求,然后根据负载均衡策略将请求转发到后端的JBoss服务器节点。 配置环境: 1. **静态IP配置**:在Linux环境中,通过编辑`/etc/...
4. 配置mod_cluster的相关部分,如`<IfModule manager_module>`区块,调整监听地址和负载均衡策略。 完成httpd的配置后,接下来要配置JBoss7的集群。在域模式下,需要创建一个或多个主机配置,并在主控服务器上定义...
### 借助Apache2 mod_jk 1.2.x搭建JBOSS集群的方法 #### 知识点一:Apache2 mod_jk 1.2.x简介与安装配置 **Apache2 mod_jk 1.2.x**是Apache的一个模块,用于在Apache Web服务器和后端应用服务器(如JBOSS)之间...
以上就是Apache安装与JBoss部署的基本步骤,这只是一个基础的配置过程,实际应用中可能需要根据企业的需求进行更复杂的调整,例如SSL证书配置、负载均衡、集群配置等。理解这些基本操作后,你就能更好地适应和处理...
Apache集群是一种将多台Apache服务器组织在一起,以提供高可用性、负载均衡和容错能力的解决方案。在大型Web应用程序中,当单个服务器无法处理大量并发请求时,集群技术可以显著提高系统的性能和可靠性。 第2章文档...
JBoss 集群是JBoss 应用服务器的一项重要功能,它提供了高可用性和负载均衡能力,从而确保了应用在多节点环境中的可靠运行。本文档将详细介绍 JBoss 集群的基本概念、配置方法以及实际应用中的最佳实践。 #### 二、...
### Linux环境下Apache与JBoss部署详解 ...以上内容涵盖了Linux环境下Apache与JBoss部署的基本步骤和关键配置。通过这些步骤,可以实现一个稳定可靠的JBoss应用服务器,并且能够与Apache无缝集成,提供高性能的服务。
12. **应用集群化**:许多企业级应用,如数据库(MySQL, PostgreSQL)、Web服务器(Apache, Nginx)、中间件(Tomcat, JBoss)等,都可以在集群环境中部署,以提高性能和可用性。 本书《Linux企业集群》可能涵盖了...
- 负载均衡:结合Apache HTTPD或Nginx反向代理,根据负载策略将请求分发到各个服务器节点。 6. **日志管理** - 日志配置:通过修改`standalone/configuration/logging.properties`,定制日志级别、输出格式和目标...