准备一个测试用的servlet小程序(见附件)
一个servlet,访问这个servlet会跳转到首页index.jsp,static中存放静态资源,把这个工程打成war包,放入到tomcat的webapps目录(ip为192.168.137.211),启动tomcat,访问一下
我们的页面还是很漂亮的
简述一下tomcat的结构
这个架构跟tomcat conf/server.xml中的配置大体上是一致的
默认的,我们在通过8080端口访问tomcat的时候,使用的是tomcat的http连接器,此连接器能提供静态和动态资源服务,tomcat还有其他连接器,比如ajp连接器,就是在跟Apache集成时用到的连接器
动静分离就是从上面的将所有请求都发送到tomcat演变到只将动态请求发送到tomcat,静态资源的请求留给apache处理
首先配置Apache
编辑Apache的主配置文件,进入Apache安装目录下的conf目录,编辑httpd.cfg文件
(这里说明一下,之前演示Apache安装过程时Apache是安装在 /usr/local/apache2/ 目录下的,而现在这台机器,Apache是安装在 /usr/local/apache/目录,所以细心的同学看到这里不要奇怪,只要进入到Apache安装目录下的conf目录即可)
Apache使用独立的模块来处理这种动态请求,包括mod_jk和mod_proxy.
如果下载的Apache安装包模块中不包含mod_jk,那么需要先下载并编译mod_jk,这里下载了tomcat-connectors-1.2.40-src.tar.gz,上传到/usr/local/目录,编译
解压缩
进入native目录
要使这些模块工作,首先得加载进来
ServerRoot指令指定了Apache查找静态资源的目录
第一行,LoadModule指令,加载mod_jk模块,这些模块存放于conf/modules目录下
第七行,IfModule指令,判断是否加载了模块,模块名称为jk_module
第二行到第六行的指令都是mod_jk模块提供的
JkWorkersFile 指定worker配置文件的路径,要想让Apache把动态请求转发给tomcat,得告诉Apache tomcat的位置,包括ip、端口等,workers.properties这个配置文件就是用于配置这些信息的
JkLogFile 指定日志文件所在位置
JkLogLevel 指定日志输出级别
JkMount 指定请求转发规则,mod_jk模块得决定哪些是动态资源,然后才能将动态资源转发给tomcat,/*表示所有请求,即将所有请求交给名称为worker1的tomcat处理
JkUnMount 指定不转发的请求的规则,即哪些请求不转发给tomcat,静态资源是放在shade/static目录下的,所以配置/shade/static路径下的所有请求不转发
JkMount、JkMount指令在处理时会有顺序,从上到下,如果规则满足,继续往下匹配,直到第一个不满足的规则才停止
接下来配置worker.properties,即告诉Apache请求转发到的tomcat在哪里
加入如下配置
worker.list配置worker的名称,这里暂时配置一个
worker.workerName.xxx配置每一个worker的属性,这里workerName就是worker.list后面配置的名称,worker指tomcat实例,可以有多个tomcat实例,后面配置负载均衡的时候会配置,这里暂时配置一个worker
type:指定tomcat连接器的类型,必须为ajp13,在配置负载均衡时还有一种,lb
host:tomcat运行的主机
port:tomcat的ajp连接器监听的端口
cachesize:apache服务器是多线程的,tomcat能够利用这一优势来维持一定数量的连接作为缓存。根据用户的多少来配置一个合适缓存连接数量有助于提高性能。这里配置为5
修改tomcat的conf/server.xml,确保ajpconnector监听在8009端口,Engine元素的jvmRouter属性的值配置为worker1,即之前在worker.properties文件中配置的tomcat名称
现在将tomcat的webapps/shade目录下的static目录删除,然后启动tomcat,用8080端口访问下
静态资源已经访问不到了
接着在Apache安装目录下的htdocs目录下创建shade目录,将存放静态资源的static目录拷贝进来
启动Apache,然后访问,注意,确保安装tomcat的服务器的8009端口打开
注意,这里访问的是Apache所在的服务器,80端口
至此,已经实现动态资源和静态资源的分离
相关推荐
3. JK模块:Apache的 mod_jk 模块,用于连接Apache和Tomcat,实现负载均衡。 配置步骤如下: 1. **安装Apache和Tomcat**:从官方站点下载Apache和Tomcat的Windows版本,并按照常规步骤进行安装。同时,下载JK模块...
【Apache+Tomcat 集群与负载均衡及Session...通过以上配置,Apache+Tomcat集群可以实现高效的负载均衡和高可用性,同时通过Session绑定确保用户会话的连续性。注意定期监控和优化集群性能,以应对不断变化的业务需求。
本文档详细介绍了使用mod_proxy模块与Apache和Tomcat结合来实现负载均衡与集群配置的过程。配置前需要准备相应的环境,包括安装JDK、Apache HTTP Server和Tomcat服务器。本文档使用了Tomcat 7.0.2作为应用服务器,并...
### Apache+mod_jk+Tomcat负载均衡配置详解 #### 一、背景介绍 随着互联网技术的迅猛发展,单一服务器已经难以满足日益增长的服务需求。负载均衡技术应运而生,成为提高服务可用性和扩展性的关键手段之一。本文将...
而Tomcat集群则使得多个Tomcat实例在用户看来像是一个单一的服务器,从而实现资源的高效利用。 Apache HTTP Server通过mod_jk模块与Tomcat进行通信,mod_jk负责将HTTP请求转发到适当的Tomcat实例。以下是详细的配置...
在Linux环境中,使用Apache、Tomcat和JK模块实现负载均衡和群集是一项常见的高可用性架构设计,它能够有效地分发网络流量,提高系统的可扩展性和稳定性。Apache作为前端Web服务器,负责接收用户请求并根据配置策略将...
Apache与Tomcat结合实现负载均衡,主要是通过Apache的模块mod_jk来完成。mod_jk是Apache与Tomcat之间的连接器,负责将HTTP请求转发到适当的Tomcat实例。 集群配置则涉及到多个Tomcat服务器共享工作负载,通常有两种...
本文将详细介绍如何配置 Apache + Tomcat 集群,包括安装 Apache 和 Tomcat 服务器、配置 mod_jk 模块、配置 Apache 和 Tomcat 服务器、配置负载均衡控制器等。 一、安装 Apache 服务器 首先,需要安装 Apache ...
**1.1 配置 Apache 实现负载均衡** Apache 的负载均衡可以通过 mod_proxy 和 mod_jk 模块来实现。其中 mod_jk 是一个专门为 Apache 和 Tomcat 设计的模块,用于处理负载均衡任务。以下是一些关键配置示例: - **...
Apache+Tomcat+JK配置负载均衡是Web服务器与应用服务器集群的一种常见组合,用于实现高可用性和高并发处理能力。Apache作为前端服务器,通过JK模块(mod_jk)与后端的Tomcat应用服务器进行通信,将HTTP请求分发到多...
3. **mod_jk**: 这是Apache与Tomcat之间的连接器模块,用于实现负载均衡。尽管文件名为`mod_jk-apache-2.0.55.so`,但实际上是针对Windows平台的DLL文件。可在Tomcat官方网站的“Tomcat Connectors”页面下载。 ###...
总之,Apache+Tomcat集群和负载均衡的实现能够显著提升Web服务的可用性和性能,通过灵活选择负载均衡策略和模块,可以适应各种复杂的业务场景。在实际操作中,还需要不断调整和优化,以达到最佳的效果。
在Apache与Tomcat的场景中,mod_jk可以通过以下几种策略实现负载均衡: 1. **轮询(Round Robin)**:最简单的负载均衡方式,每次请求按顺序分配给下一个服务器,确保每个服务器都有机会处理请求。 2. **最少连接数...
#### 三、Apache+Tomcat集群配置步骤 **步骤1:环境准备** - 安装Apache。 - 安装两个Tomcat实例,并在各自的`webapps`目录下部署测试项目。 **步骤2:JK插件配置** - 将`mod_jk.so`复制到`<apache_home>/...