Apache2.2.6 + Tomcat6.0.x 整合后,“不能”设置虚拟主机了!!!
okzrz 2007-12-19 09:15:27 现在访问JSP页面都一点问题没用,但是如果设置虚拟主机的话Tomcat就不能正常解析文件了。
(我的Tomcat、Apache工作目录都指向 D:\www目录)我在Apache中设置虚拟主机,把www.abc.com指向d:\www ,把bbs.abc.com指向d:\www\bbs 。现在如果访问bbs.abc.com,Tomcat应该解析d:\www\bbs下的文件,结果现在Tomcat直接解析d:\www下的文件(不管Apache怎么虚拟Tomcat始终把D:\www作为根目录)。怎么才能让Apache给他那个文件,他就解析哪个呢?
不知道说明白了没,我觉得我的第6步配置的有问题,我按笔者的方法配置不行我就按照以前的方法设置了)
下面是我整合他们参考的内容
#############################################
参考http://zipboy1979.spaces.live.com/blog/cns!F998844D43DE90BA!173.entry
、安装 JDK 1.6
2、安装 Apache 2.2.6
3、安装 Tomcat 6.0.14
4、修改 Apache 配置文件。
#
# This should be changed to whatever you set DocumentRoot to.
#
#<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs">
<Directory "G:/www/htdocs">
.
.
.
Order allow,deny
Allow from all
</Directory>
5、Apache2.2.6 与 Tomcat6的整合
在httpd.conf后面添加如下内容
LoadModule jk_module modules/mod_jk-apache-2.2.4.so #调入mod_jk模块
JkWorkersFile conf/workers.properties #连接必要的连接属性(在conf/workers.properties文件里)
JkMount /servlet/* ajp13 #所有servlet都指向ajp13
JkMount /*.jsp ajp13 #所有JSP都指向ajp13
JkMount /*.do ajp13 #所有struct都指向ajp13
在Apache/conf/下创建workers.properties文件,内容如下
worker.list=ajp13 #在工作列表里的名字是ajp13
worker.ajp13.port=8009 #ajp13使用的port是8009
worker.ajp13.host=localhost #ajp13的主机是本地
worker.ajp13.type=ajp13 #ajp13的类型是ajp13 (ajp13是一种连接方式)
worker.ajp13.lbfactor=1 # 平衡负载
拷贝mod_jk-apache-2.2.4.so到modules下
6、修改Tomcat6的工作目录与Apache相同,修改tomcat的server.xml,在</Host>前添加:
<Context path="" docBase="e:\www\root" debug="0" reloadable="true" crossContext="true"/>
这里如果按参考的配置方法,把tomcat里conf/server.xml文件的<Host name="localhost" appBase="/webapps" ... > 替换appBase="/webapps"成appBase="d:/web",则Tomcat就无法访问到任何文件,Apache提示找不到文件(Apache把请求提交给Tomcat Tomcat找不到任何文件?我这么理解)
7、增加基于名称的虚拟主机
打开Apache2\conf下的httpd.conf,查找#NameVirtualHost *:80,去掉前面的注释。
添加虚拟主机www.test.com,在httpd.conf的最后,添加如下代码:
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot d:/www/bbs
ServerName bbs.abc.com.cn
</VirtualHost>
<VirtualHost *:80>
DocumentRoot d:/www
ServerAlias 192.168.1.7
ServerAlias 127.0.0.1
ServerName www.abc.com.cn
</VirtualHost>