首页 | 财经 | 资源 | 理财 | 考研 | 职场 | 论文 | 资格 | 股票学院 |

股票学院: 股票入门 - 股票知识 - 股票术语 - 炒股技巧 - 选股技巧 - 跟庄技巧 - 炒股经验 - 投资策略 - K线图 - 均线 - 分时图 - 成交量 - 波浪理论 - 基本面分析 - 心理分析 - 涨停研究 - 趋势线 - 江恩理论 - MACD - KDJ - 技术指标 - 财经股票书籍在线阅读 - 金融类书籍下载 - 银行学院 - 保险学院 - 外汇学院 - 债券学院 - 股票学院 - 基金学院 - 港股学院 - 黄金学院

当前位置:天下金融网 > 金融云 > 文章正文

详解Apache 和 Tomcat 整合原理、配置方案

时间:2019-09-04 12:09:19来源:今日头条作者:佚名

Apache 和 Tomcat 都是Web服务器,它们之间既有联系又有区别。Apache主要负责静态解析,如HTML。Tomcat主要负责动态解析,如JSP。

为什么要让 Apache 与 Tomcat 之间进行连接呢?

原因有下面几个:

  1. 提升对静态文件的处理性能
  2. 利用 Web 服务器来做负载均衡以及容错
  3. 无缝的升级应用程序

Apache 和 Tomcat整合原理:

  • Apache负责处理HTML静态内容
  • Tomcat负责处理动态内容

详解Apache 和 Tomcat 整合原理、配置方案

详解Apache 和 Tomcat 整合原理、配置方案

换而言之:Apache是一辆车,上面可以装一些东西如html等,但是不能装水,要装水必须要有桶(容器),而这个桶也可以不放在卡车上,那这个桶就是Tomcat。

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

JK

编译生成mod_jk模块

在apache中加载mod_jk并对其进行配置

在tomcat中修改配置以使其能接受mod_jk的转发

编译生成mod_jk.so,然后将其复制到httpd加载模块默认的目录/etc/httpd/modules

yum install httpd-devel -y #编译生成apache扩展依赖apxs,如未安装先安装

  1. wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.42-src.tar.gz 
  2.  
  3. tar -zxf tomcat-connectors-1.2.42-src.tar.gz 
  4.  
  5. cd tomcat-connectors-1.2.42-src/native/ 
  6.  
  7. ./configure --with-apxs=/usr/sbin/apxs 
  8.  
  9. make 
  10.  
  11. cp ./apache-2.0/mod_jk.so /etc/httpd/modules/ 
  12.  
  13. https://tomcat.apache.org/download-connectors.cgi 
详解Apache 和 Tomcat 整合原理、配置方案

JK 是通过 AJP 协议与 Tomcat 服务器进行通讯的,Tomcat 默认的 AJP Connector 的端口是 8009。

JK 本身提供了一个监控以及管理的页面 jkstatus,通过 jkstatus 可以监控 JK 目前的工作状态以及对到 tomcat 的连接进行设置,如下图所示:

详解Apache 和 Tomcat 整合原理、配置方案

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

也可以利用 jkstatus 的管理功能来切换 JK 到不同的 Tomcat 上,例如将 s2 启用,并停用 s1

JK 的配置最关键的有三个文件,分别是

  • httpd.conf

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

  • workers.properties

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

Workers实际上属于Tomcat的链接器(Connector),代表了一个Tomcat实例,这个实例代表了由某种web服务器来执行 servelet程序。

举例来说,我们可以使用某个服务器,例如apache 来把servelet请求转递Tomcat进程(worker)来进行后台处理。

  • Tomcat workers都定义在一个叫做workers.properties属性文件之中,并且workers的说明告诉应该如何使用它们。

可以通过属性文件来为Tomcat Web服务器插件定义Worker。(在conf/下有个文件名为wo rkers.properties就是一个可用Workers属性文件).

worker.list=<由逗号分离开的worker名称列表>

worker.list= worker1, worker2

当启动服务器的时候,Web服务器插件会把这些出现在worker.list属性中出现名字的worker实例化,而这些也就是你可以用来映射请求的worker

Workers的类型

对于每个有名字的worker都会有若干条目给使用者提供worker自身的附加信息。这些信息包括worker的类型和与之相关的worker的信息。JK 1.2.5中包含下列的worker类型:

类型 说明

  • ajp12 这种worker知道如何使用ajpv12协议去给用来外部处理的worker传递一个请求。
  • ajp13 这种worker知道如何使用ajpv13协议去给用来外部处理的worker传递一个请求。
  • lb 这是一个负载平衡worker;它知道怎样在一定容错范围内提供一个基于粘性负载的循环。
  • status 这是一个状态worker来管理负载平衡。
  • sticky_session指明带有会话线程ID的请求是否应该被发送回到同一个Tomcat worker。
  • uriworkermap.properties
  • URI 映射文件,用来指定哪些 URL 由 Tomcat 处理,

配置httpd.conf

详解Apache 和 Tomcat 整合原理、配置方案

接下来我们在 Apache 的 conf 目录下新建两个文件分别是 workers.properties、uriworkermap.properties。这两个文件的内容大概如下

详解Apache 和 Tomcat 整合原理、配置方案

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

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

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

有了这三个 worker 还不够,我们还需要告诉 JK,哪些 worker 是可用的,所以就有 worker.list = ZYKJ, status 这行配置。

相关阅读

焦点图文

关于我们 | 广告服务 | 商务合作 | 网站地图

版权所有 Copyright(C)2018-2020 苏州骐云跃网络科技有限公司,未经授权禁止复制或建立镜像,否则将依法追究法律责任!
声明:我们不做任何形式的代客理财及投资指导,凡是以天下金融网名义做股票推荐的行为均属违法!
广告商的言论与行为均与天下金融网无关!股市有风险,投资需谨慎。
苏公网安备 32050502000166号
苏ICP备14018528号
商务合作:联系我们

天下金融网版权所有