Apache+Jobss cluster安装配置

本文详细介绍了在Linux环境下,如何通过Apache和JBoss实现集群搭建的过程,包括Apache的安装配置、JBoss的安装配置以及两者之间的集成。通过步骤指导,使读者能够顺利配置出一个高可用的Web应用集群。

系统环境:
OS:linux AS4 2.6.9-78.EL
APP: apache httpd-2.2.11.tar.gz
Jboss 4.2.3
需要mod_jk-1.2.28-httpd-2.2.X.so文件
一、Apache的安装配置
1、解压apache包
tar zxvf httpd-2.2.11.tar.gz
2、编译apache
./configure –prefix=/usr/local/apache2 –enable-module=so –enable-module=setenvif –enable-module=rewrite –enable-rewrite=shared –enable-proxy=shared –with-mpm=prefork –enable-so –enable-auth-anon –enable-file-cache=shared –enable-cache=shared –enable-disk-cache=shared –enable-mem-cache=shared
make clean
make make
install

3、修改httpd.conf文件
vi /usr/local/apache2/conf/httpd.confListen80此端口可以根据实际情况进行修改,此我没有修改我使用的是80
User daemon和Group daemon改为
User apache
Group apache
删除ServerName的#(注释)此处注意你如何修改了端口,最好加上端口。

4、在linux下建立apache组和用户
groupadd apache
useradd apache –g apache5、将下载的mod_jk-1.2.28-httpd-2.2.X.so文件修改并拷贝
mv mod_jk-1.2.28-httpd-2.2.X.so mode_jk (进行改名)
cp mode_jk /usr/local/apache2/modules (拷贝到这个modules下)
chmod +x /usr/local/apache2/modules/mode_jk
进入到/usr/local/apache2/conf目录下,修改httpd.conf文件
在httpd.conf最末尾增:
Include conf/mod_jk.conf 检查httpd.conf里有没有
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule status_module modules/mod_status.so
以上内容添加如下内容
       Order deny,allow
       allow from all
ProxyPass / balancer://proxy/   stickysession=JSESSIONID nofailover=On lbmethod=byrequests
ProxyPassReverse / balancer://proxy/
        BalancerMember ajp://192.168.133.133:8009/  loadfactor=50  route=note1
        BalancerMember ajp://192.168.133.233:8009/  loadfactor=50  route=note2
6、新建mod_jk.conf文件文件内容:
#Load mod_jk module
# Specify the filename of the mod_jk lib
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 indicates to send SSK KEY SIZE
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

# JkRequestLogFormat
JkRequestLogFormat "%w %V %T"
              
# Mount your applications
JkMount /*.* loadbalancer

# You can use external file for mount points.
# It will be checked for updates each 60 seconds.
# The format of the file is: /url=worker
# /examples/*=loadbalancer
JkMountFile conf/uriworkermap.properties              

# Add shared memory.
# This directive is present with 1.2.10 and
# later versions of mod_jk, and is needed for
# for load balancing to work properly
JkShmFile logs/jk.shm
            
# Add jkstatus for managing runtime data
    JkMount status
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
   
7、新建workers.properties文件内容如下
# Define list of workers that will be used
# for mapping requests
worker.list=loadbalancer,status
# worker.list=loadbalancer,node1,node2

# Define Node1
# modify the host as your host IP or DNS name.
worker.node1.port=8009
worker.node1.host=192.168.133.133
worker.node1.type=ajp13
worker.node1.lbfactor=1
worker.node1.cachesize=100

# Define Node2
# modify the host as your host IP or DNS name.
worker.node2.port=8009
worker.node2.host= 192.168.133.233
worker.node2.type=ajp13
worker.node2.lbfactor=1
worker.node2.cachesize=100

# Load-balancing behaviour
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=node1,node2
#1表示使用粘着0表示非粘着
worker.loadbalancer.sticky_session=0
#worker.list=loadbalancer

# Status worker for managing load balancer
worker.status.type=status
说明:
上面的文件中配置了两个节点,name分别为node1,node2,指定两个节点的IP,并在worker.loadbalancer.balance_workers中指定所有的node列表;worker.loadbalancer.sticky_session设置是否启用“粘着的”Session,sticky session是指来自同一IP的请求将被发送到同一个Jboss节点,sticky session设为0的话同一session的不同请求会被负载均衡分发到不同的jboss节点上。worker.node1.host、worker.node2.host要改成jboss集群各机器的实际IP.
8、新建uriworkermap.properties文件内容如下
/jmx-console=loadbalancer
/jmx-console/*=loadbalancer
/web-console=loadbalancer
/web-console/*=loadbalancer

二、Jboss的安装配置
1、JDK安装和环境变量配置我在这里就不再叙述了,大家可以上网查查,很简单。
2、解压JBOSS包我也不在叙述
3、有关JBOSS安装我也不叙述了,我这里直接说明有关JBOSS的配置
4、我在这里jobss以/usr/local/jboss目录为例
5、修改JBOSS端口和配置文件
进入到/usr/local/jboss/server/all/deploy/jboss-web.deployer/目录下
l        打开server.xml文件,修改如下
JBOSS_HOME/server/all/deploy/jboss-web.deployer/server.xml
->

以上说明,有关端口使用自己想定义的,此处我用的8080,把address修改同以上一样,不然启动jboss得到的地址将是127.0.0.1造成无法访问,增加jvmRoute=”node1”此处根据你的实际情况修改,每台机器都要修改。
进入/usr/local/jboss/server/all/deploy/jboss-web.deployer/META-INF目录
l        打开jboss-service.xml,
找到UseJK,改为true
进入到/usr/local/jboss/server/all/deploy/jboss-web-cluster.sar/META-INF/目录下
l        打开jboss-service.xml文件,做如下修改
找到将到全部注释掉.
找到 将到生效.并对该部分进行修改
(1)将全部down_thread和up_thread的false都改为true.
(2)在后填入本机的IP,比如
(3)在”后填入本机和集群其他全部Jboss节点的IP[7810],比如”192.168.133.133[7810],192.168.133.233[7810]”>
代码如下:
            
  tcp_nodelay="true"
  recv_buf_size="20000000"
  send_buf_size="640000"
  discard_incompatible_packets="true"
  enable_bundling="true"
  max_bundle_size="64000"
max_bundle_timeout="30"
  use_incoming_packet_handler="true"
  use_outgoing_packet_handler="false"
  down_thread="true" up_thread="true"
  use_send_queues="false"
  sock_conn_timeout="300"
            skip_suspected_members="true"/>
timeout="3000"
down_thread="true" up_thread="true"
num_initial_members="3"/>
down_thread="true" up_thread="true" min_interval="20000"/>
use_mcast_xmit="false" gc_lag="0"
        retransmit_timeout="300,600,1200,2400,4800"
down_thread="true" up_thread="true"
discard_delivered_msgs="true"/>
down_thread="true" up_thread="true"
max_bytes="400000"/>
down_thread="true" up_thread="true"
join_retry_timeout="2000" shun="true"
view_bundling="true"/>
min_threshold="0.10"/>
三、启动测试
启动时,要先启动apache,再启动jboss节点1,启动节点1完成后,再启动节点2;
jboss启动方式使用./run –c all方式,只有此才是集群,有关后台启动就不有我说了吧。呵呵
测试时,最好先看看apache能不能访问,可以了再试试jboss的各个节点可不可以访问,这样确保你的jboss都启动正常

好了,多谢大家了,这样就配置完成了,也多谢网上那些贡献的朋友们,没有他们的帮助我也可能做不出来。

Apache Tomcat是一个开源的Java Servlet容器,是目前最流行的轻量级Web服务器。它具有以下特点: 1. 简单易用:Tomcat相对于其他Web服务器来说,配置和使用都非常简单,适合初学者使用。 2. 跨平台性:Tomcat可以在不同的操作系统上运行,如Windows、Linux和Mac OS等。 3. 支持Servlet和JSP技术:Tomcat通过Java Servlet和JSP技术提供动态网页服务,并且支持Java的相关技术和框架。 4. 高性能:Tomcat具有高度优化的处理机制,可以处理大量并发的请求,保证网站的高性能和响应速度。 Nginx是一个高性能的开源Web服务器和反向代理服务器,具有以下特点: 1. 异步非阻塞架构:Nginx采用事件驱动、异步非阻塞的设计模式,能够高效处理大量并发请求,具备较好的吞吐能力。 2. 高可扩展性:Nginx作为反向代理服务器,可以对后端服务器做负载均衡,实现高可用性和可扩展性。 3. 内存占用低:Nginx具有较低的内存占用,适合在资源有限的服务器上使用。 4. 高可靠性:Nginx具备自动故障恢复和自动负载均衡功能,可以实现服务器的高可靠性和稳定性。 IIS(Internet Information Services)是微软开发的Web服务器软件,具有以下特点: 1. Windows平台特化:IIS只能在Windows操作系统上运行,与Windows系统高度集成,提供了丰富的功能和易用的配置界面。 2. 支持ASP.NET:IIS是与Microsoft ASP.NET技术紧密结合的,可以轻松托管ASP.NET应用程序。 3. 安全性高:IIS提供了多层次的安全措施,可以保护Web应用程序的安全性,如SSL加密、IP地址过滤等。 4. 集成性强:IIS与其他Microsoft产品(如SQL Server、Exchange Server)集成紧密,可以实现更简便的管理和开发。 WebLogic是Oracles开发的企业级应用服务器,具有以下特点: 1. 强大的事务处理能力:WebLogic支持可靠的JTA事务处理,可以处理复杂的企业级应用程序。 2. 高度可靠性和可扩展性:WebLogic提供了集群和负载均衡功能,可以实现高可靠性和可扩展性的分布式架构。 3. 支持Java EE技术:WebLogic支持Java EE规范,并提供了丰富的Java EE组件和API。 4. 安全性强:WebLogic具有高度的安全性控制和认证机制,能够保护企业级应用程序的安全。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值