tomcat 和apache的整合的方法及配置(二)

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介:

第三种方法是

 用的是jk

 在 用jk进行整合apachetomcat时,jk的配置最关键的是三个文件,分别是

  

 

1 httpd.conf

    apache 服务器的配置文件,用来加载jk模块以及指定jk的配置文件信息的

2 workers.porperties

    tomcat服务器的连接定义文件

3 uriworkermap.properties

  URI映射文件,用来指定哪些URLTomcat 处理,当然您也可以直接在httpd.conf   中配置这些URI,但是独立这些配置的优点是JK模块定期更新该文件的内容,使得我们修改配置的时候无需重新启动Apache 服务器

安装连接器

 #tar xvf tomcat-connectors-1.2.28-src.tar.gz

 #cd  tomcat-connectors-1.2.28-src

 #cd native

 #./configure --with-apxs=/usr/local/apache/bin/apxs --with-java-home=/usr/java/

#make && make install

 

2编辑apache的配置文件

  #vim httpd.conf

  在其尾部添加

Include  conf/mod_jk.conf并保存

创建文件mod_jk.conf文件

   #vim mod_jk.conf

   #Load mod_jk module

LoadModule jk_module modules/mod_jk.so

#Where to find workers.properties

JkWorkersFile conf/workers.properties

#Where to find uriworkermap.preperties

JkMountFile conf/uriworkermap.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"

JkShmFile logs/mod_jk.shm

HostnameLookups Off

创建workers.properties 文件

        #vim    workers.properties

#list the workers by name

 

worker.list=loadBalancer,status

#################tomcat1##########

worker.tomcat1.port=8009

worker.tomcat1.host=localhost :可以换成IP地址

worker.tomcat1.type=ajp13

worker.tomcat1.lbfactor=1

worker.tomcat1.cachesize=100

worker.tomcat1.cache_timeout=600

worker.tomcat1.socket_keepalive=120

worker.tomcat1.socket_timeout=300

worker.tomcat1.connect_timeout=0

worker.tomcat1.reply_timeout=30000

worker.tomcat1.recovery_options=0

worker.tomcat1.retries=1

####################tomcat2#############

worker.tomcat2.port=8009

worker.tomcat2.host=192.168.2.213

worker.tomcat2.type=ajp13

worker.tomcat2.lbfactor=1

worker.tomcat2.cachesize=100

worker.tomcat2.cache_timeout=600

worker.tomcat2.socket_keepalive=120

worker.tomcat2.socket_timeout=300

worker.tomcat2.connect_timeout=0

worker.tomcat2.reply_timeout=30000

worker.tomcat2.recovery_options=0

worker.tomcat2.retries=1

############LoadBalancer############

worker.retries=3

worker.loadBalancer.type=lb

worker.loadBalancer.balance_workers=tomcat ,tomcat2

worker.loadBalancer.sticky_session=1

worker.status.type=status

并保存,应为我用的是两台机器,配置tomcat集群,如果是用同一台机器配置tomcat集群的话只需要把端口改为其他端口以防止端口冲突

  在最后配置了一个类型为statusworker。这是用来监控JK本身的模块,当然有了这桑worker 还是不够的,还需要告诉JK,其中的哪些worker 是可用的所以就配置了worker.list=loadBalancerstatus

 

 

 

 

 

配置URI的映射,需要指定连接是由Tomcat处理的,哪些是由apache直接处理的,

# uriworkermap.properties

    /*=loadBalancer #mapping the url /

/jkstatus=status

/*.htm=loadBalancer

/*.jpg=loadBalancer

/*.png=loadBalancer

/*.html=loadBalancer

/*.jsp=loadBalancer

/*.gif=loadBalancer

/*/servlet/*=loadBalancer

 

 注: 所有的请求都是由loadBalancer这个worker进行处理的,但是有几个例外,/jkstatus请求是由status这个worker处理的。另外这个配置中的每一行数据前面的叹号,表示接下来的URI不是由JK进行处理的,是由apache直接处理所有的图片,css文件,js文件以及静态html文本文件

配置 tomcat 集群

 需改tomcat的主配置文件

  #cd /usr/local/tomcat/conf/

  #vim  server.xml

首先查找

  <Engin  name=”Catalina” defaultHost=”localhost” jvmRoute=”tomcat2”>

应为是创建的tomcat集群,因此需要把去掉<Cluster> 的注释

修改Cluster 节点信息

   在不同主机上的Cluster 的节点

     <Membership

                className="org.apache.catalina.cluster.mcast.McastService"

                mcastBindAddress="192.168.2.154"

                mcastAddr="224.0.0.1"

                mcastPort="45564"

                mcastFrequency="500"

                mcastDropTime="3000"/>

 

            <Receiver

                className="org.apache.catalina.cluster.tcp.ReplicationListener"

                tcpListenAddress="192.168.2.154"

                tcpListenPort="4001"

                tcpSelectorTimeout="100"

                tcpThreadCount="6"/>

 

 

 

~     <Membership

                className="org.apache.catalina.cluster.mcast.McastService"

                mcastBindAddress="192.168.2.213"

                mcastAddr="224.0.0.1"

                mcastPort="45564"

                mcastFrequency="500"

                mcastDropTime="3000"/>

 

            <Receiver

                className="org.apache.catalina.cluster.tcp.ReplicationListener"

                tcpListenAddress="192.168.2.213"

                tcpListenPort="4001"

                tcpSelectorTimeout="100"

                tcpThreadCount="6"/>        

 

如果是在同一台主机上配置的是tomcat集群,需要把tcpListenPort的端口改掉,

   <Connector port="8080" maxHttpHeaderSize="8192"

               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

               enableLookups="false" redirectPort="8443" acceptCount="100"

               connectionTimeout="20000" disableUploadTimeout="true" />  

       <Connector port="8009"

               enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />

等端口改掉,防止在同一台主机上的tomcat的端口冲突

修改web.xml 文件并在</web-app>前面添加

   <distributable/>

注:做tomcat集群必须配置该项,否则用户的session就无法正常使用

 

 

  9 注意事项

1.需要开启网卡的组播地址

   #route add –net 224.0.0.0 netmask 240.0.0.0 dev eth0

 

查看端口netstat –antl | grep 4001

3测试广播

  # java -cp tomcat-replication.jar MCaster 224.0.0.1 45564 Terminal1
#java -cp tomcat-replication.jar MCaster 224.0.0.1 45564 Terminal2

 

10 重启apachetomcat 浏览:http://localhost 出现的是一个小猫则说明配置成功










本文转自 freehat08 51CTO博客,原文链接:http://blog.51cto.com/freehat/370456,如需转载请自行联系原作者
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
相关文章
|
6月前
|
网络协议 Java 应用服务中间件
框架源码私享笔记(01)Tomcat核心架构功能 | 配置详解
本文首先分享了《活出意义来》一书序言中的感悟,强调成功如同幸福,不是刻意追求就能得到,而是全心投入时的副产品。接着探讨了Tomcat的核心功能与架构解析,包括网络连接器(Connector)和Servlet容器(Container),并介绍了其处理HTTP请求的工作流程。文章还详细解释了Tomcat的server.xml配置文件,涵盖了从顶级容器Server到子组件Connector、Engine、Host、Context等的配置参数及作用,帮助读者理解Tomcat的内部机制和配置方法。
|
4月前
|
Java 应用服务中间件 Maven
在IntelliJ IDEA中如何配置使用Maven以创建Tomcat环境
所以,别担心这些工具看起来有些吓人,实际上这些都是为了帮助你更好的完成工作的工具,就像超市里的各种烹饪工具一样,尽管它们看起来可能很复杂,但只要你学会用,它们会为你烹饪出一道道美妙的食物。这就是学习新技能的乐趣,让我们一起享受这个过程,攀登知识的高峰!
296 27
|
4月前
|
Java 应用服务中间件 Apache
在IntelliJ IDEA中使用Maven配置Tomcat环境
此配置方法具有较高的实用性,简单易懂。遵循以上步骤,您将能顺利在IntelliJ IDEA中使用Maven配置Tomcat环境,从而进行Web项目的开发和调试。
415 18
|
4月前
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
315 11
|
5月前
|
Ubuntu PHP Apache
在Ubuntu系统中为apt的apache2编译PHP 7.1的方法
以上就是在Ubuntu系统中为apt的apache2编译PHP 7.1的方法。希望这个指南能帮助你成功编译PHP 7.1,并在你的Apache服务器上运行PHP应用。
128 28
|
5月前
|
Java 关系型数据库 MySQL
JDK、Tomcat、MariaDB数据库和Profile多环境的配置与使用
以上就是JDK、Tomcat、MariaDB数据库和Profile多环境的配置与使用的基本步骤。这些步骤可能会因为你的具体需求和环境而有所不同,但是基本的思路是一样的。希望这些信息能够帮助你更好地理解和使用这些工具。
179 17
|
11月前
|
安全 应用服务中间件 网络安全
Tomcat如何配置PFX证书?
【10月更文挑战第2天】Tomcat如何配置PFX证书?
638 7
|
11月前
|
存储 算法 应用服务中间件
Tomcat如何配置JKS证书?
【10月更文挑战第2天】Tomcat如何配置JKS证书?
985 4
|
8月前
|
网络协议 Java 应用服务中间件
centos7环境下tomcat8的安装与配置
本文介绍了在Linux环境下安装和配置Tomcat 8的详细步骤。首先,通过无网络条件下的文件交互软件(如Xftp 6或MobaXterm)下载并解压Tomcat安装包至指定路径,启动Tomcat服务并测试访问。接着,修改Tomcat端口号以避免冲突,并部署Java Web应用项目至Tomcat服务器。最后,调整Linux防火墙规则,确保外部可以正常访问部署的应用。关键步骤包括关闭或配置防火墙、添加必要的端口规则,确保Tomcat服务稳定运行。
|
11月前
|
Java Shell 应用服务中间件
Mac系统下配置环境变量:Javajdk、maven、tomcat 环境变量配置及对应配置文件
这篇文章介绍了如何在Mac系统下配置Java JDK、Maven和Tomcat的环境变量,包括配置文件的选择、解决环境变量在zsh shell中无效的问题、查看和设置系统环境变量的方法,以及JDK和Maven的下载、配置和测试步骤。
4588 1
Mac系统下配置环境变量:Javajdk、maven、tomcat 环境变量配置及对应配置文件

推荐镜像

更多