天天看点

xampp tomcat配置php文件,XAMPP与TOMCAT整合的一般方法

XAMPP与TOMCAT整合的一般方法

[摘要:写正在前里的话: XAMPP不消多道,是一套特别很是棒的散成对象,能够快速拆建一个开辟情况。新版本的XAMPP for

win(1.7.4)包括了Tomcat的插件,能够支撑jsp的剖析,然则还没有涌现针对Linux仄台]

写在前面的话:

XAMPP

不用多说,是一套非常棒的集成工具,可以快速搭建一个开发环境。新版本的XAMPP for

win(1.7.4)包含了Tomcat的插件,可以支持jsp的解析,但是尚未出现针对Linux平台的XAMPP Add

ons。这大概是由于Linux发行版本众多,开发这样一款插件需要考虑到兼容性问题。关键的动态库mod_ji.so是依赖于平台的,因此我们需要自行

手动编译一个出来。

声明:下面方法在xampp1.7.4+apache2.2.17+tomcat-connectors-1.2.32下测试通过,但不保证所有的版本使用此法都能通过,慎用。

1. 整合步骤

参考:http://tomcat.apache.org/connectors-doc/index.html

使用Tomcat

Connector,结合apxs来编译一个mod_jk.so出来,修改httpd.conf文件,使得apache遇到jsp文件,将请求移交给tomcat。

使用XAMPP自身的apxs在编译Tomcat

Connector的时候会提示一些奇怪的错误,遂使用相同版本的apache源码进行编译,最后经过尝试,配置成功,步骤如下:

1)分别下载apache和tomcat

connector源码,解压后,先安装apache,安装apache步骤参考官网,此处省略。 假定apache目录位于/usr/local/httpd-2.2.17;

假定xampp目录位于/opt/lampp

2)进入tomcat

connector/native目录下,执行configure命令:

·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150

1.sudo ./configure

--with-apxs=/usr/local/httpd-2.2.17/bin/apxs

2.sudo make

3.sudo makeinstall

顺利的话,执行完毕会在httpd-2.2.17/modules下生成mod_jk.so文件,将该文件移动到/opt/lampp/libexec或者/opt/lampp/modules下;

3)增加worker.properties文件

在/opt/lampp/etc下新建文件worker.properties,内容为:

·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150

1.worker.list=worker1

2.worker.worker1.type=ajp13

3.worker.worker1.host=localhost

4.worker.worker1.port=8009

4)打开/opt/lampp/etc/httpd.conf,在文件末尾增加如下代码

·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150

01.#

mod_jk文件为事先编译好的so文件——能否整合成功,最主要是依赖于此文件

02.LoadModule

jk_module /opt/lampp/libexec/mod_jk.so

03.

04.#

指定tomcat监听配置文件地址,这是之前我们完成的那个文件

05.JkWorkersFile"/opt/lampp/etc/workers.properties"

06.

07.#

指定日志存放位置

08.JkLogFile"/opt/tomcat6/logs/mod_jk2.log"

09.

10.#

JK share memory

11.JkShmFile"/opt/tomcat6/logs/mod_jk.shm"

12.

13.#

配置日志级别

14.JkLogLevel

info

15.

16.#

Select the timestamp log format

17.JkLogStampFormat"[%a

%b %d %H:%M:%S %Y] "

18.

19.#

tomcat中所有项目的静态文件交由apache处理

20.JkAutoAlias

/opt/tomcat6/webapps

21.

22.#

也可以设置tomcat中某个项目的静态文件让apache处理

23.# Alias /opt/tomcat6/webapps

24.

25.#

让Apache支持对servlet传送,用以Tomcat解析

26.#

注意worker1是在workers.properties中配置的worker,如果名称有误,

27.#

或者没有在workers.properties中配置,则启动xampp的时候会提示找

28.#

不到worker1

29.JkMount

servlet/ worker1 # send all requests jsp requests to files located

in /otherworker will go worker2 JkMount /otherworker/*.jsp worker2

JkMountFile

从JK1.2.9版本后的新式指令。动态加载需要处理的请求。实现将需要处理的请求写在名为uriworkermap.properties的文件中。这样可以不用重启apache服务器就能修改服务连接。

举例:

# Sample uriworkermap.properties file /servlets-examples/*=ajp13w # Do not map .jpeg files !/servlets-examples/*.jpeg=ajp13w # Make jsp examples initially disabled -/jsp-examples/*=ajp13w

!的作用相当于JkUnMount,而-表示禁用。可以在服务器启动后修改这个文件,apache每隔60s会重载一次。

JkAutoAlias

动将tomcat的webapps中的上下文同步到apache的文档空间。该选项开启了apache解析web项目静态内容的功能,让tomcat去解

析动态的部分。这样就不需要使用Alias指令单独设置每一个项目的分工。强烈建议使用JkMount指定将所有的请求默认交给tomcat处理,使用

JkMount设置例外的内容,交给apache处理。需要注意的是确保仅有静态的内容是需要被apache解析的。因为任意被apache解析的静态内

容都将绕过web.xml中定义的安全限制。

另外,可以使用JkUnMount来设置不予处理的请求。更多配置参考官方文档。