Apache2+mod_jk1.2+tomcat7 创建集群环境 (一) 软件安装

首先准备软件,列表如下:

httpd-2.2.19.tar.bz2

apache-tomcat-7.0.19.tar.gz

tomcat-connectors-1.2.32-src.tar.gz

一. apache httpd的安装


二. tomcat的安装和配置

2.1 tomcat的安装

此部分略,在配置好Java环境的条件下直接解压缩即可.

2.2 tomcat的配置 - 在一台机器上配置多个tomcat实例 (因为笔者只是测试环境)

2.2.1 禁用Http连接器

因为将不再使用tomcat自身的http连接器,也即避免8080端口的占用

Open file $CATALINA_HOME/conf/server.xml

Comment the following conents

    <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />

2.2.2 为每个tomcat实例配置AJP TCP端口

    <Server port="8005" shutdown="SHUTDOWN">    

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

server1 - 8005,8009

server2 - 8105,8109

2.2.3 为每个tomcat实例设置jvmRoute以支持mod_jk

    <Engine name="Catalina" defaultHost="localhost"jvmRoute="machine1">

    <Engine name="Catalina" defaultHost="localhost"jvmRoute="machine2">

2.2.4 准备示例程序

使用jsp-examples即可,如果想实现会话(session)共享,需要在部署描述符(web.xml)中添加<distributable/>元素

    <display-name>Servlet and JSP Examples</display-name>

<distributable/>
    <!-- Define example filters -->
    <filter>

三. mod_jk的安装

tar -xvf tomcat-connectors-1.2.32-src.tar.gz

cd tomcat-connectors-1.2.32-src/native

#以下为重点部分,主要提供Apache的apxs和java目录进行configure

./configure --with-apxs=/usr/local/dev/server/apache/apache-httpd-2.2.19/bin/apxs --with-java-home=/usr/local/dev/java/jdk1.6.0_12

make & make install

编译安装完后,在apache主目录的modules下应该会产生mod_jk.so库

四. mod_jk的配置

4.1 让apache httpd加载mod_jk.so库

$APACHE_HOME/conf/httpd.conf

add

LoadModule jk_modle modules/mod_jk.so

增加mod_jk.so模块后,启动时会查找$APACHE_HOME/conf/workers.properties

4.2 配置workers.properties

该文件是mod_jk的必须文件

Copy workers.properties  from tomcat-connectors-1.2.32-src/conf

做如下配置

注意lb和status是mod_jk的内置类型

worker.list=wlb,jkstatus

worker.machine1.type=ajp13
worker.machine1.host=192.168.110.129
worker.machine1.port=8009
worker.machine1.lbfactor=10


worker.machine2.type=ajp13
worker.machine2.host=192.168.110.129
worker.machine2.port=8109
worker.machine2.lbfactor=10

worker.wlb.type=lb
worker.wlb.balance_workers=machine1,machine2

worker.jkstatus.type=status

五. 使用JkMount映射负载平衡的路径

需要在apache中将dynamic content映射到负载均衡器上,也就是mod_jk

#mod_jk configuration#
JkMount /examples/jsp/* wlb
JkMount /jkstatus/      jkstatus

还需要告诉apache服务器workers.properties在哪里

# where is the workers.properties #
JkWorkersFile           conf/workers.properties


六. 测试环境

至此前端配置完毕






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用 Apache+Tomcat 实现负载均衡时,我们可以使用 mod_jk 模块实现。mod_jk 是 Apache 的一个模块,它与 Tomcat 之间通过 AJP 协议进行通信,可以将请求分发给多个 Tomcat 服务器,从而实现负载均衡。 以下是使用 mod_jk 实现负载均衡的步骤: 1. 安装 mod_jk 模块 在 Apache 的模块目录下,添加 mod_jk 模块。在 Linux 系统中,通常是在 /etc/httpd/modules 目录下。 2. 配置 mod_jk 模块 在 Apache 的配置文件 httpd.conf 中,添加以下内容: ``` LoadModule jk_module modules/mod_jk.so JkWorkersFile /path/to/workers.properties JkLogFile /path/to/mod_jk.log JkLogLevel info ``` 上述配置中,LoadModule 指令用于加载 mod_jk 模块,JkWorkersFile 指令用于指定 workers.properties 文件的路径,该文件定义了 Tomcat 服务器的列表和其它相关参数,JkLogFile 指令用于指定 mod_jk 的日志文件路径,JkLogLevel 指令用于指定日志级别。 3. 配置 workers.properties 文件 在 workers.properties 文件中,我们需要定义多个 Tomcat 服务器的信息,例如: ``` worker.list=worker1,worker2 worker.worker1.type=ajp13 worker.worker1.host=192.168.1.1 worker.worker1.port=8009 worker.worker2.type=ajp13 worker.worker2.host=192.168.1.2 worker.worker2.port=8009 ``` 上述配置中,worker.list 指定了所有的 Tomcat 服务器名称,worker1 和 worker2 是两个 Tomcat 服务器的名称,type 指定了通信协议,host 和 port 分别指定了 Tomcat 服务器的 IP 地址和端口号。 4. 配置虚拟主机 在 Apache 的虚拟主机配置中,添加以下内容: ``` JkMount /* worker1 JkMount /app1/* worker2 ``` 上述配置中,JkMount 指令用于指定 URL 与 Tomcat 服务器之间的映射关系,* 表示所有的 URL,/app1/* 表示以 /app1/ 开头的 URL。 5. 配置重试和超时 在 workers.properties 文件中,我们可以配置重试和超时的参数,例如: ``` worker.worker1.retries=3 worker.worker1.connect_timeout=10000 worker.worker1.prepost_timeout=10000 ``` 上述配置中,retries 表示在重试之前的最大尝试次数,connect_timeout 表示连接超时时间,prepost_timeout 表示请求和响应的超时时间。 6. 测试负载均衡 完成上述配置后,我们可以启动多个 Tomcat 服务器,并访问 Apache 的虚拟主机。Apache 会将请求分发给多个 Tomcat 服务器,从而实现负载均衡。 以上就是使用 mod_jk 实现负载均衡的步骤。需要注意的是,使用 mod_jk 进行负载均衡时,需要确保 Tomcat 服务器之间的 session 同步。可以使用 Tomcat 提供的 session 共享机制或使用其它第三方的 session 共享方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值