整合Apache httpd与Tomcat,提供web服务

      apache只有处理静态事物的能力,而tomcat的强项就是处理动态的请求。如果单独使用Tomcat做JSP服务器,在工作效率上会存在问题,Tomcat处理静态HTML的能力不如Apache,并且所能承受的最大并发连接数也有一定的限制。在测试中,当并发连接较多时,Tomcat就会处于"僵死"状态,对后继的请求连接失去响应。

      而且,本次的项目是Jsp + Ajax + SpringMVC,公司有内网环境,如果只是单纯使用tomcat的话,不能跨网段访问。

      所以apache和tomcat整合相互取长补短,由apache作为入口,如果是请求静态页面或者是静态文件,由apache直接提供,如果是请求动态页面,则让apache分发到tomcat,由tomcat处理以后再响应给客户端。

 

1、安置Apache httpd点击打开链接

参考文章Apache httpd 安装启动demo(Window版),下载解压后设置环境变量

(1)Apache_httpd_HOME:httpd的路径

(2)在path中添加:%Apache_httpd_HOME%\bin

其他的按照文章里的步骤进行配置。

 

2、mod_jk

mod_jk下载地址(版本1.2.40),方法

名为mod_jk.so,置于Apache Http Server安装目录下的modules目录中

 

3、Tomcat

我下载的是Tomcat8,解压就好,配置一下环境变量,确保能够访问就行。conf/server.xml文件中指定了8009端口访问的协议,保持不变。

 

4、Apache的配置主要集中在httpd.conf文件,它位于你的安装目录,比如:httpd安装目录\conf\

参考 这篇文章 进行配置

(1)因为我是部署在本机上,所以ServerName无需改动,如果部署在其他机器上,请使用所在机器的ip即可。

(2)DocumentRoot 也不改动,部署的话就将web工程拷贝一份,放在默认的htdocs目录中

(3)在末尾追加:

#Apache载入一个jk插件,用于连接tomcat
LoadModule jk_module modules/mod_jk.so
#连接时的配置参数描述位于Apache安装目录的/conf目录下的一个叫worker.properties文件中,mod_jk一般使用ajp13协议连接,使用的是tomcat的8009端口。
JKWorkersFile conf/worker.properties

<VirtualHost *>
    ServerAdmin localhost
    ServerName localhost
    DirectoryIndex index.html index.htm index.jsp index.action
    ErrorLog logs/shsc-error_log.txt
    CustomLog logs/shsc-access_log.txt common
    JkMount /*WEB-INF ajp13
    JkMount /*j_spring_security_check ajp13
    JkMount /*.action ajp13
    JkMount /servlet/* ajp13
    JkMount /*.jsp ajp13
    JkMount /*.do ajp13
    JkMount /*.action ajp13
</VirtualHost>

JkMount表达式表示符合该路径的url都转发给tomcat进行解析。

(5)conf/worker.properties

workers.tomcat_home=E:/Program Files/apache-tomcat-8.5.32
workers.java_home=E:/Program Files/Java/jdk1.7.0_80
ps=/
worker.list=ajp13       #指定工作的的web容器映射
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13 #协议类型

配置OK之后,把项目同时部署在Apache跟Tomcat中,并同时启动两个服务器,用localhost/项目 就能访问项目了。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值