[蓝冰原创]APACHE 2.2.4与TOMCAT6.0.2整合教程
为了让服务器执行PHP+JSP,我们可以使APACHE支持JSP。其实并不是真正让APAHCE来执行,只是让APACHE把JSP文件让给TOMCAT来执行。[b]一、前期准备工作:安装用的程序[/b]
APAHCE 2.2.4下载:
[url=http://mirror.utdlug.org/apache/httpd/binaries/win32/apache_2.2.4-win32-x86-no_ssl.msi][color=#0000ff]apache_2.2.4-win32-x86-no_ssl.msi[/color][/url]
TOMCAT6.0.13下载:
[url=http://mirror.cc.columbia.edu/pub/software/apache/tomcat/tomcat-6/v6.0.13/bin/apache-tomcat-6.0.13.exe][color=#0000ff]Windows Service Installer[/color][/url]
APACHE-tomcat连接器:mod_jk-apache-2.2.4.so(网上不太好找,为了下载方便,传到服务器上了)
本地下载:[attach]6857[/attach]
远程下载:[url=http://www.hightechimpact.com/Apache/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.23/mod_jk-apache-2.2.4.so]http://www.hightechimpact.com/Apache/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.23/mod_jk-apache-2.2.4.so[/url]
[b]二、安装过程
[/b]APAHCE安装目录:D:\Program Files\Apache Software Foundation\Apache2.2
TOMCAT安装目录:D:\Program Files\Apache Software Foundation\Tomcat 6.0
这两个安装过程就不详细说明了。
mod_jk-apache-2.2.4.so复制到APACHE安装目录下的modules目录,并新建一个workers.properties文件,用记事本打开workers.properties文件,写入如下内容:[code]
workers.tomcat_home="D:\Program Files\Apache Software Foundation\Tomcat 6.0"
workers.java_home="D:\Program Files\Java\jdk1.6.0"
ps=\
wk.list=ajp13
wk.ajp13.port=8080
wk.ajp13.host=localhost
wk.ajp13.type=ajp13
wk.ajp13.lbfactor=50
wk.ajp13.cachesize=10
wk.ajp13.cache_timeout=600
wk.ajp13.socket_keepalive=1
wk.ajp13.socket_timeout=300[/code]其中
wk.list=ajp13这个要记住,一会儿会在APACHE的配置文件中用到
wk.ajp13.port=8080是TOMCAT服务器端口号,要和TOMCAT安装时设置的一样
wk.ajp13.host=localhost设置服务器IP或域名
下来再修改APACHE的配置文件D:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf
在最下面加入[code]
#TOMCAT整合开始
LoadModule jk_module modules/mod_jk-apache-2.2.4.so
JkWorkersFile modules/workers.properties
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
JkMount /*/servlet/* ajp13
JkMount /*.jsp ajp13
#TOMCAT整合结束[/code]其中可以看到
JkMount /*/servlet/* ajp13
JkMount /*.jsp ajp13
这个是告诉APACHE如果有请求JSP文件的,就直接交给TOMCAT处理。网上有些人把这个地方写错了,写成JkMount /* ajp13,这样下来会出现所有的页面请求都会交给TOMCAT处理,那还不如直接用TOMCAT运行,所有的设置都是“脱裤子放屁,多此一举”。这里我教正一下。
通过上面的设置,基本上是把APACHE和TOMCAT整合到一起了,但我们要访问JSP是通过网页来访问的,而不止一个域名,也就是说APACHE和TOMCAT要进行虚拟主机的设置。
APACHE的虚拟主机设置如下:
修改 conf/httpd.conf找到
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
修改为
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
然后编辑
conf/extra/httpd-vhosts.conf
加入如下代码:[code]
NameVirtualHost www.3qit.com
<VirtualHost www.3qit.com>
ServerAdmin wk@3qit.com
DocumentRoot E:/WWW/jsp/
ServerName www.3qit.com
DirectoryIndex index.html index.jsp
<Directory E:/WWW/jsp/>
Options -Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>[/code]其中的域名和路径根据你自己情况设置
然后再设置TOMCAT虚拟主机
打开TOMCAT安装目录里的conf/server.xml文件,在原本的HOST节点后再加入一个HOST节点,内容如下:[code]
<Host name="www.3qit.com" debug="0" appBase="E:\WWW\jsp" unpackWARs="true" autoDeploy="true">
<alias>www.3qit.com</alias>
<Context path="" docBase="E:\WWW\jsp" debug="0" reloadable="true"/>
</Host> [/code]这个设置是和APACHE的虚拟主机设置相对应。
通过这些设置,基本上是可以通过[url=http://www.3qit.com]http://www.3qit.com[/url]来测试JSP的执行了。
[b]三、启动服务,测试JSP执行
[/b]先启动TOMCAT服务,再启动apache服务。如果配置没有问题的话,应该是可以正常启动。
然后再我们新建的虚拟主机目录“E:\WWW\jsp”下新建一个index.jsp文件,写入如下内容:[code]
<%@ page contentType="text/html; charset=gb2312" language="java"%>
<%
out.println("JSP文件执行成功!");
%>[/code]然后再通过[url=http://www.3qit.com]http://www.3qit.com[/url]来访问一下,浏览器会显示出
JSP文件执行成功!
然后再通过
[url=http://www.3qit.com:8080]http://www.3qit.com:8080[/url]访问一下,你会发现和通过[url=http://www.3qit.com]http://www.3qit.com[/url]访问的内容是一样的。
这样就说明apache和TOMCAT整合成功! 感觉好复杂哦``` 不会。。。不过顶了。。。看不懂。嘿 不行、,不懂,现在发现自己无知得很啊什么都不懂啊 :time: 要好好学习啊 只恨自己懂得太少 吴坤大哥,我按你的步骤弄的。
我用的是localhost,访问[url=http://127.0.0.1/]http://127.0.0.1/[/url]出现“HTTP 错误 403 - 禁止访问 ”
而访问[url=http://127.0.0.1:8080/]http://127.0.0.1:8080/[/url]出现的是“If you're seeing this page via a web browser, it means you've setup Tomcat successfully. Congratulations!”的页面。也不知道哪里弄错了,真郁闷。
有问题
我是配置是apache 2.2.8
tomcat 6.0.16
mod_jk2.2.4
照你的配置
测试
http://love:8080/index.jsp 没有问题
而
http://love/index.jsp
却直接把我的代码显示出来了
<%@ page language="java" import="java.util.*"
contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-
这样的数据?这是怎么回事啊? 极有可能是因为你的APACHE版本太新,mod_jk-apache模块不能正常工作 mod_jk-apache的版本要和APACHE的版本一致
页:
[1]
