整合准备:

1、Apache HTTP Server(下文用Apache简称)

2、Tomcat 7或8

3、mod_jk.so (tomcat-connectors)-这个文件是用来链接http server与tomcat的桥梁

下载地址:http://mirrors.hust.edu.cn/apache/tomcat/tomcat-connectors/jk/binaries/windows/

下载的版本要与Apache的版本一致

Apache的安装都是下一步,只是有个地方要输入填一下

安装的位置自己选择,我的安装在:D:\Apache\HttpServer\Apache2.2

tomca的的安装就不介绍了:解压一个或安装版的都行

Apache与Tomca整合:

1 、解压下载下来的tomcat-connectors-1.2.40-windows-i386-httpd-2.2.x(我的Apache是2.2.25),找到

mod_jk.so文件并把它拷贝到Apache安装目录下的modules文件夹中

2、打开 Apache 的安装目录,其主要配置都集中在conf文件夹下的 httpd.conf 文件中,位置如图所示:

(1)修改DocumentRoot

DocumentRoot  一般为js、css、html、png、gif、jpg等静态资源文件的存放目录,这里我们定义存放在D:/Apache/HttpServer/www文件夹下。修改后的内容如下:

DocumentRoot "D:/Apache/HttpServer/www"

在其下面建立一个与项目webroot相同的文件在把静态的文件拷贝过来

(2)图如下:第193行,将 Deny from all 改成 allow from all 否则访问静态文件时页面会提示 Forbidden 禁止访问的信息。

(3)Directory 修改成和 DocumentRoot 对应的值相同

(4)将 Options Indexes FollowSymLinks 注释掉,并在其下追加一行 Options None。作用和 Tomcat下的conf/web.xml中的 listings 设置成 false 一样,为了避免在浏览器中列出 服务端资源 的目录结构。

3、Apache 关联 Tomcat 的配置

在conf 文件夹(httpd.conf 所在的文件夹)新建一个 workers.properties 文件,内容如下:

workers.tomcat_home=D:/Apache/apache-tomcat-8.0.9
workers.java_home=C:/Java/jdk1.8.0
ps=/
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13

在httpd.conf 的最末尾处(就是

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>的后面) 添加一段代码

##wen#
LoadModule jk_module modules/mod_jk.so
JKWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
<VirtualHost *>
ServerAdmin localhost
DocumentRoot D:/Apache/HttpServer/www
ServerName 127.0.0.1:80
DirectoryIndex index.html index.htm index.jsp login.jsp
ErrorLog logs/shsc-error_log.txt
CustomLog logs/shsc-access_log.txt common

JkMount /*WEB-INF ajp13
JkMount /manage/* ajp13
JkMount /CaptchaImageAction/* ajp13
JkMount /*.jsp ajp13
JkMount /*.do ajp13
</VirtualHost>

用来过滤那些请求交由tomcat来处理

补充:

多个tomcat的配置

1、配置apache的conf目录下的workers.properties文件

# list the workers by name
#worker.list=DLOG4J, status, tomcat3, tomcat4,tomcat5
worker.list=DLOG4J, status, tomcat1
# localhost server 1
# ------------------------
worker.tomcat1.port=8009
worker.tomcat1.host=localhost
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=100
# localhost server 2
# ------------------------
#worker.tomcat2.port=8010
#worker.tomcat2.host=localhost
#worker.tomcat2.type=ajp13
#worker.tomcat2.lbfactor=100
# localhost server 3
# ------------------------
#worker.tomcat3.port=8009
#worker.tomcat3.host=xxxxxx
#worker.tomcat3.type=ajp13
#worker.tomcat3.lbfactor=100
# localhost server 4
# ------------------------
#worker.tomcat4.port=8010
#worker.tomcat4.host=xxxxxx
#worker.tomcat4.type=ajp13
#worker.tomcat4.lbfactor=100
# localhost server 5
# ------------------------
#worker.tomcat5.port=8011
#worker.tomcat5.host=xxxxxx
#worker.tomcat5.type=ajp13
#worker.tomcat5.lbfactor=100
#worker.DLOG4J.type=lb
#worker.DLOG4J.balance_workers=tomcat3,tomcat4,tomcat5
#default session is true
#worker.DLOG4J.sticky_session=true
worker.status.type=status

这个配置里面注释掉了包括负载均衡的设置,当前只支持了一个tomcat1,与apache整合

2、配置apache的conf目录下,增加uriworkermap.properties文件

/*=DLOG4J
/jkstatus=status

!/*.gif=DLOG4J
!/*.jpg=DLOG4J
!/*.png=DLOG4J
!/*.css=DLOG4J
!/*.js=DLOG4J
!/*.htm=DLOG4J
!/*.html=DLOG4J
!/*.php=DLOG4J

3、修改conf文件http.conf

LoadModule jk_module modules/mod_jk.so
      <IfModule jk_module>
           JkWorkersFile conf/workers.properties
           JkMountFile conf/uriworkermap.properties
           JkLogFile logs/mod_jk.log
           JkLogLevel warn
        </IfModule>

Windows 下 Apache HTTP Server 与 Tomcat 的整合的更多相关文章

  1. Windows 下 Apache HTTP Server 安装、配置以及与 Tomcat 的整合(附图)

    如果您能点开这篇文章,说明您已对熟悉Apache HTTP Server(下文用Apache简称)配置的重要性已很清楚了,本文不在赘述,直接介入正题,请往下阅读: 为便于阅读,列出文章目录: 一.Ap ...

  2. Windows下apache+tomcat负载均衡

    Windows下apache+tomcat负载均衡 网上已经有很多的资料,但是很多都比较零碎,需要整合一起才能搭建出理想的负载均衡,正好前段时间搭建了windows与linux下的负载均衡,在此记录, ...

  3. Apache Http Server和Tomcat 之区别

    转自:Apache Http Server和Tomcat 之区别 Apache官方网站:http://www.apache.org/Tomcat官方网站:http://tomcat.apache.or ...

  4. Apache HTTP Server与Tomcat整合学习记录

    Apache HTTP Server与Tomcat整合 个人环境:Windows10,JDK8,Tomcat8.5,Apache2.4,JK模块1.2.4 前言 ​ 其实网上有很多教程,但问题是得每次 ...

  5. windows下apache+https环境配置

    windows下apache+https环境配置 转 https://www.cnblogs.com/sandaizi/p/7519370.html 1.修改配置文件conf/httpd.conf,去 ...

  6. Apache Windows下Apache安装步骤

    1.apache官网下载Apache HTTP Server服务器 我相信有些朋友刚用apache服务器时,都希望从官网上下载,而面对着官网上众多的项目和镜像以及目录,也许有点茫然.下面是具体步骤: ...

  7. [转]Apache HTTP Server 与 Tomcat 的三种连接方式介绍

    首先我们先介绍一下为什么要让 Apache 与 Tomcat 之间进行连接.事实上 Tomcat 本身已经提供了 HTTP 服务,该服务默认的端口是 8080,装好 tomcat 后通过 8080 端 ...

  8. windows下apache + mod_wsgi + python部署flask接口服务

    windows下apache + mod_wsgi + python部署flask接口服务 用python3安装虚拟环境 为啥要装虚拟环境? 原因1:安装虚拟环境是为了使项目的环境和全局环境隔离开,在 ...

  9. Windows下Apache+mod_python+Django配置

    Windows下Apache+mod_python+Django配置 Apache 首先要安装Apache,我安装的版本是2.2.*: Python python肯定是要安装的,我安装的版本是2.5的 ...

随机推荐

  1. sqlserver中数据的四种插入方式

    1.insert into stuInfo(name,stuId) values('李洁','19291727')insert into stuInfo(name,stuId) values('李康' ...

  2. c# in deep 之使用匿名方法的内联委托操作

    匿名方法允许我们指定一个内联委托的操作,为创建委托实例表达式的一部分.其可以对代码进行极度精简,当然可读性变得很差.下面看一个求平方根的例子. List<int> list = new L ...

  3. rabbitmq-message(C#)

    1.安装Erlang Windows Binary File 2.安装rabbitmq-server(windows)rabbitmq-server-3.5.4.exe 参考:http://www.r ...

  4. download youtube video

    using youtube-dl to download youtube video: (1) sudo apt-get install youtube-dl (2) run.sh #!/bin/ba ...

  5. 用django创建一个简单的sns

    用django创建一个简单的sns 1.首先创建一个工程newsns django-admin.py startproject newsns 在工程目录下新建一个文件夹templates,在该文件夹下 ...

  6. 由IEnumerable和IEnumerator的延伸

    相信大家在学习c#的时候,经常会看到IEnumerable.IEnumerator这样的接口或返回类型,在写代码时经常会对数组或List集合进行遍历.那IEnumerable和IEnumerator是 ...

  7. grunt 上手

    grunt 上手 开始上手 Grunt 和 grunt 插件都是通过 npm 安装, Node.js 包管理器管理的. Grunt 0.4.x 版本需要Node.js 版本号不低于0.8.0. 一.安 ...

  8. Android开发中与服务器交互时,遇到java.io.IOException: Target host must not be null的问题

    当我遇到这个问题的时候,也在网上查找好半天.找到了一个和这个问题很类似的问题——java.lang.IllegalStateException: Target host must not be nul ...

  9. AOP之拦截函数调用链实现

    AOP之拦截函数调用链实现 定义函数A,B,C,调用A->B->C,这样就形成了函数静态调用链,而AOP要做的是能动态的添加多个B,形成A->B1->B2->B3...- ...

  10. android 工程里缺少 R.java 文件原因和解决方法

    作为新手,学习android 的时候难免要导入一些示例,目的为了更加了解android各种API用法,顺便也可以学习下别人代码的写法. 可是导入android源码后,基本都有错误,R.java也不会自 ...