1. 首页 > 快讯

详解Apache 和 Tomcat 整合原理、配置方案-apache tomcat安装及配置教程

大家好,今天小编来为大家解答以下的问题,关于详解Apache 和 Tomcat 整合原理、配置方案-apache tomcat安装及配置教程,这个很多人还不知道,现在让我们一起来看看吧!

为什么需要连接Apache和Tomcat?

原因有下面几个:提高静态文件的处理性能

使用Web 服务器进行负载平衡和容错

无缝升级应用程序

[[332848]]

Apache 和 Tomcat整合原理:Apache负责处理HTML静态内容,Tomcat负责处理动态内容

换句话说:Apache是一辆汽车,它可以装一些东西比如HTML等,但不能装水。装水必须有一个水桶(容器),而这个水桶不需要放在卡车上。那么这个桶就是Tomcat。

Apache HTTP Server 与Tomcat 的三种连接方式

JK编译生成mod_jk模块。在apache中加载mod_jk并进行配置。修改tomcat中的配置,使其可以接受mod_jk的转发。编译生成mod_jk.so,然后将其复制到httpd加载模块的默认目录/etc/中。 httpd/模块

yum install httpd-devel -y #编译并生成依赖于apxs的apache扩展。如果没有安装,请先安装。

wgethttp://mirrors.hust.edu.cn/apache/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.42-src.tar.gztar-zxftomcat-connectors-1.2.42-src.tar.gzcdtomcat-connectors-1.2。 42-src/native/./configure--with-apxs=/usr/sbin/apxsmakecp./apache-2.0/mod_jk.so/etc/httpd/modules/https://tomcat.apache.org/download-connectors.cgi

JK通过AJP协议与Tomcat服务器通信。 Tomcat 的默认AJP 连接器端口是8009。

JK本身提供了一个监控管理页面jkstatus。通过jkstatus,可以监控JK当前的工作状态,并设置与tomcat的连接,如下图:

图中,JK 配置了两个连接,分别连接到端口8109 和8209。

还可以使用jkstatus的管理功能将JK切换到不同的Tomcat,比如启用s2、禁用s1

JK 的配置最关键的有三个文件,分别是httpd.conf Apache服务器配置文件,用于加载JK模块并指定JK配置文件信息

workers.properties 到Tomcat服务器的连接定义文件

Workers实际上属于Tomcat的链接器(Connector),代表一个Tomcat实例。该实例代表执行servlet程序的某个Web服务器。

例如,我们可以使用服务器,例如apache,将servlet请求转发给Tomcat进程(worker)进行后台处理。

Tomcat 工作线程在名为workers.properties 的属性文件中定义,并且工作线程的描述告诉了如何使用它们。可以通过属性文件为Tomcat Web 服务器插件定义Worker。 (conf/下有一个名为workers.properties的文件,它是可用的Workers属性文件)。

worker.list=以逗号分隔的工人姓名列表

工人.列表=工人1,工人2

启动服务器时,Web服务器插件将实例化名称出现在worker.list属性中的worker,这些是您可以用来映射请求的worker。

Workers的类型对于每个指定的工作人员,都会有几个条目为用户提供有关工作人员本身的附加信息。此信息包括工人的类型以及与其相关的工人的信息。 JK 1.2.5包含以下工人类型:

类型描述

ajp12 该worker知道如何使用ajpv12协议将请求传递给用于外部处理的worker。 ajp13 该工作人员知道如何使用ajpv13 协议将请求传递给用于外部处理的工作人员。 lb 这是一个负载均衡worker;它知道如何在一定的容错范围内提供基于粘性负载的循环。 status 这是一个管理负载平衡的状态工作者。 Sticky_session 指示是否应将具有会话线程ID 的请求发送回同一个Tomcat Worker。 uriworkermap.propertiesURI映射文件,用于指定Tomcat处理哪些URL,配置httpd.conf

接下来,我们在Apache 的conf 目录中创建两个新文件:workers.properties 和uriworkermap.properties。这两个文件的内容大致如下

首先,我们配置了两个ajp13类型的worker,s1和s2,它们指向在同一台服务器上运行的Tomcat的两个不同端口8109和8209。

接下来,我们配置了一个lb类型的worker(意思是负载均衡),它的名字是ZYKJ。这是一个逻辑worker,用于管理前面配置的两个物理连接s1和s2。

最后配置了一个status类型的worker,它是一个用来监控JK本身的模块。

拥有这三个工人还不够。我们还需要告诉JK哪些工人可用,因此有一行配置worker.list=ZYKJ, status。

接下来是URI 映射配置。我们需要指定哪些链接由Tomcat 处理,哪些链接由Apache 直接处理。

所有请求均由ZYKJ 工作器处理,但除少数例外,/jkstatus 请求由状态工作器处理。

感叹号表示后面的URI不应该被JK处理,即Apache直接处理所有图像、css文件、js文件和静态html文本文件。

通过workers.properties和uriworkermap.properties的配置,可以有多种组合来满足我们之前提出的Web网站的要求。

二、http_proxy这里使用Apache自带的mod_proxy模块来使用代理技术连接Tomcat。

http_proxy模式是基于HTTP协议的代理,因此需要Tomcat提供HTTP服务,也就是说必须启用Tomcat的HTTP Connector。一个最简单的配置如下

在这个配置中,我们将所有来自http://localhost的请求代理到http://localhost:8080/,这也是Tomcat的访问地址,除了images、css、js目录之外。我们还可以使用mod_proxy 进行负载平衡。我们看一下下面的配置:

三、ajp_proxyajpproxy连接方法其实和httpproxy方法是一样的,都是mod_proxy提供的功能。配置是一样的,只是将http://替换为ajp://,连接到Tomcat的AJP Connector所在的端口。上面例子的配置可以改为:

使用代理连接方式需要在Apache上加载所需的模块。 mod_proxy相关模块有

mod_proxy.so、modproxyconnect.so、modproxyhttp.so、modproxyftp.so、modproxyajp.so总结与JK 连接方式相比,后两种配置相对简单,在灵活性方面也丝毫不逊色。但就稳定性而言,它并不像JK那样经过验证。如果是在重点互联网网站使用,还是建议使用JK连接方式。

用户评论

拉扯

这篇文章看起来很详细,刚好我要研究 Apache 和 Tomcat 的集成

    有8位网友表示赞同!

服从

终于找到一篇对整合原理和配置方案都做得很全面的文章了!

    有14位网友表示赞同!

淡抹丶悲伤

我刚开始学web服务器,这篇教程应该会很有帮助!

    有8位网友表示赞同!

孤廖

Apache 和 Tomcat 组合起来真方便,这个教程应该可以轻松上手。

    有19位网友表示赞同!

发呆

学习下 Apache 和 Tomcat 的集成,对以后开发来说应该很有用!

    有13位网友表示赞同!

封心锁爱

之前一直不知道怎么配置 Apache 和 Tomcat 一起使用,这下终于有了答案!

    有20位网友表示赞同!

算了吧

安装和配置教程都是我最需要的东西! 希望能详细讲解每个步骤。

    有18位网友表示赞同!

笑叹★尘世美

分享一个文章链接,大家一起学习一下吧!关于 Apache 和 Tomcat 的整合的原理和配置方案都讲的很清楚。

    有6位网友表示赞同!

那伤。眞美

学习新东西总是一件令人兴奋的事,比如Apache 和 Tomcat的整合!

    有5位网友表示赞同!

墨城烟柳

我一直想尝试使用 Apache 和 Tomcat 协同工作,这篇教程刚好可以帮我实现它!

    有8位网友表示赞同!

寻鱼水之欢

这个标题很有吸引力,感觉讲解十分到位!

    有14位网友表示赞同!

残留の笑颜

对 Web 开发有兴趣的朋友们,一定要看看这篇文章!Apache 和 Tomcat 的整合方法在这里!

    有14位网友表示赞同!

墨染年华

我已经学了一些网络服务器基础知识,这篇教程应该能帮助我更深入的了解 Apache 和 Tomcat 的组合使用。

    有19位网友表示赞同!

小清晰的声音

感谢分享这篇文章,我很想了解 Apache 和 Tomcat 的原理和配置方案。

    有9位网友表示赞同!

心贝

Apache 和 Tomcat 是很多 Web 项目的基础,学习他们的整合方法很重要!

    有9位网友表示赞同!

|赤;焰﹏゛

我对 web 开发越来越感兴趣了,希望能学到更多关于 Apache 和 Tomcat 的知识!

    有10位网友表示赞同!

◆乱世梦红颜

我之前一直独立使用 Tomcat,现在想尝试将其与 Apache 整合起来,这篇教程应该能够帮到我!

    有14位网友表示赞同!

强辩

这篇文章看起来很实用的样子,很适合想要学习 Apache 和 Tomcat 集成的人们。

    有6位网友表示赞同!

冷月花魂

学习新技术总是充满挑战,但是也会很有乐趣,比如这次学习 Apache 和 Tomcat 的整合!

    有11位网友表示赞同!

本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.iotsj.com//kuaixun/8048.html

联系我们

在线咨询:点击这里给我发消息

微信号:666666