日期:2014-05-19  浏览次数:20654 次

求救!整合TOMCAT和APACHE并绑定域名问题
我早几日APACHE+TOMCAT整合好了并接绑定好了域名。。。兴致勃勃写好文档放群里面给共享了。。后来自己测试,域名访问成功了,但是某些页面的被包含页面没找到。如:<%@include file="/head.jsp" %>,我的head.jsp是在项目的根目录,包含页面lingban.jsp在webroot的一文件夹里, 但是我的首页也包含了head页面却没问题<%@include file="head.jsp" %>,首页index页面也在根目录,一下是我的整合的过程,请如果的大哥大姐看看,小弟不胜感激了!
  APACHE 2.2.4与TOMCAT6.0.16整合并绑定域名

一,准备工作:安装需要用的程序
我用的TOMCAT是6.0.16版本,相信只要是6.0以上版本都可以
Apahce 2.2.4版本,Apache2 版本以上就可以
APACHE-tomcat连接器:mod_jk-apache-2.2.4.so(网上不太好找,为了大家方便,传到共享去了)

二,安装过程Apache 安装目录:E:\ Apache2.2
Tomcat 安装目录:E:\Tomcat6.0
安装过程不详细明说了,如遇Apache启动不了报“the requested operation has failed”可先检查端口是否占用,如果没被占用,可用指令进入Apache目录中的bin目录,再httpd.exe -w -n "Apache2" -k start ,它可提示你错误出在哪个文件第几行
mod_jk-apache-2.2.4.so复制到APACHE安装目录下的modules目录,并新建一个workers.properties文件,用记事本打开workers.properties文件,写入如下内容:
workers.tomcat_home="E:\Tomcat 6.0"
workers.java_home="E:\jdk1.6.0"
ps=\
wk.list=ajp13
wk.ajp13.port=8009
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
其中wk.list=ajp13这个要记住,一会儿会在APACHE的配置文件中用到wk.ajp13.port=8080是TOMCAT服务器监听号,要和TOMCAT安装时设置的一样wk.ajp13.host=localhost设置服务器IP或域名,须之前解析域名
下来再修改APACHE的配置文件E:\Apache2.2\conf\httpd.conf在最下面加入
#TOMCAT整合开始
LoadModule jk_module modules/mod_jk-apache-2.2.4.so
JkWorkersFile modules/workers.properties
JkMount /*.do ajp13
JkMount /*.jsp ajp13
#TOMCAT整合结束
其中可以看到JkMount /*.do ajp13 JkMount /*.jsp ajp13这个是告诉APACHE如果有请求JSP文件的,就直接交给TOMCAT处理。网上有些人把这个地方写错了,写成JkMount /* ajp13,这样下来会出现所有的页面请求都会交给TOMCAT处理,那还不如直接用TOMCAT运行,所有的设置都是“脱裤子放屁,多此一举”。这里我教正一下。  通过上面的设置,基本上是把APACHE和TOMCAT整合到一起了,但我们要访问JSP是通过网页来访问的,所以需要绑定到域名

三,开始绑定域名
APACHE的虚拟主机设置如下:修改 conf/httpd.conf找到# Virtual hosts#Include conf/extra/httpd-vhosts.conf修改为# Virtual hostsInclude conf/extra/httpd-vhosts.conf 把注释去掉
然后编辑conf/extra/httpd-vhosts.conf加入如下代码: 

NameVirtualHost www.xxx.com  
<VirtualHost www.xxx.com>
  ServerAdmin wk@3qit.com
  DocumentRoot E:\Tomcat 6.0\webapps\XXXX
  ServerName www.xxx.com
  DirectoryIndex index.html index.jsp
   
<Directory E:\Tomcat 6.0\webapps\XXXX>
  Options -Indexes FollowSymLinks
  AllowOverride None
  Order allow,deny
  Allow from all
</Directory>
</VirtualHost>
其中的域名和路径根据你自己情况设置,www.xxx.com 是域名,
E:\Tomcat 6.0\webapps\XXXX 是你项目的路径,如果你是以JAR包或其他方式的包上传的,只需文件名即可

然后再设置TOMCAT虚拟主机打开TOMCAT安装目录里的conf/server.xml文件,在原本的HOST节点后再加入一个HOST节点,内容如下: 

<Host name="www.xxx.com" debug="0" appBase="E:\Tomcat 6.0\webapps\XXXX" unpackWARs="true" autoDeploy="true">
  <alias>www.xxx.com</alias>
  <Context path="" docBase="E:\Tomcat 6.0\webapps\XXXX" debug="0" reloadable="true"/>
  </Host>
这个设置是和APACHE的虚拟主机设置相对应。通过这些设置,基本上是可以通过http://www.XXX.com来测试JSP的执行了。
四,启动服务先启动TOMCAT服务,再启动apache服务。如果配置没有问题的话,应该是可以正常启动。然后再我们新建的虚拟主机目录“E:\Tomcat 6.0\webapps\XXXX”下新建一个index.jsp文件,写入如下内容: 

<%@ page contentType="text/html; charset=gb2312" language="java"%>
<%
out.println("JSP文件执行成功!");
%>
如果有现成的项目只需E:\Tomcat 6.0\webapps\XXXX 就可以
然后再通过http://www.xxx.com来访问一下,浏览器会显示出JSP文件执行成功!然后再通过http://www.xxx.com:8080访问一下,你会发现和通过http://www.xxx.com访问的内容是一样的。这样就说明apache和TOMCAT整合成功!



------解决方案--------------------
沙发~!
------解决方案--------------------
顶啊
JSP+JavaBean+SQL Server,用户登陆,密码异常