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>
...全文
765 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhongzheng83 2008-08-26
  • 打赏
  • 举报
回复
我也遇到这个问题????????????
chmicrosoft 2008-08-23
  • 打赏
  • 举报
回复




帮顶
红男爵 2008-08-19
  • 打赏
  • 举报
回复
确认Apache和Tomcat的设置保持一致。

Apache2\conf¥httpd.conf里DocumentRoot和Directory都应该指到“d:/www”;
Tomcat\conf\server.xml里的<Host name="localhost" appBase="d:/www" ...>
workers.properties 文件没有问题。

然后再检验http://localhost和http://localhost:8080是否显示一致。
就能确认连动是否OK了。

同时使用两个虚拟主机,我没使用过。
但觉得
<VirtualHost *:80>
DocumentRoot d:/www/bbs
有点问题。

能否改成:
<VirtualHost *:80>
DocumentRoot /bbs
ServerName bbs.abc.com.cn
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /
ServerAlias 192.168.1.7
ServerAlias 127.0.0.1
ServerName www.abc.com.cn
</VirtualHost>
试试看,绝对路径看上去有点问题。DocumentRoot d:/www/bbs 文中并没有定义过嘛。

关注ing,,,,
老程序员 2008-07-31
  • 打赏
  • 举报
回复
我也出现了这种情况.tomcat可不可以不配
要配怎么配
meiZiNick 2008-04-30
  • 打赏
  • 举报
回复
不会,帮顶
jspxnet 2008-01-21
  • 打赏
  • 举报
回复
注意,你的虚拟主机需要配置两个地方,
apache 和tomcat都要配
feicuishen 2008-01-18
  • 打赏
  • 举报
回复
你访问bbs.abc.com的时候,是不是还是显示d:/www里面的内容,你把位置换一下,就会发现问题了:
<VirtualHost *:80>
DocumentRoot d:/www
ServerAlias 192.168.1.7
ServerAlias 127.0.0.1
ServerName www.abc.com.cn
</VirtualHost>
<VirtualHost *:80>
DocumentRoot d:/www/bbs
ServerName bbs.abc.com.cn
</VirtualHost>
zzblue 2008-01-14
  • 打赏
  • 举报
回复
apache里的路径和tomcat中context设置的路径应当一样吧
okzrz 2007-12-19
  • 打赏
  • 举报
回复
帖子里第6步我写的docBase="e:\www\root" 实际上路径是正确的,这是个参考。
EasyJspRun! 一键搭建使用说明 注意:EasyJspRun! 仅适用于未安装配置 Apache Tomcat JDK MySQL 的 Linux 系统,请务必在开始安装前检查系统环境,如果您的服务器中已经安装配置了上述环境,请全部卸载后再使用 EasyJspRun! 进行安装,否则安装程序会自动卸载旧的运行环境。 一、版本说明 ============ EasyJspRun!使用以下服务器软件 ---------------------------------------- Apache 2.2.11 mod_jk-1.2.27-httpd-2.2.6.so tomcat 6.0.18 jdk 1.6.0_10 MySQL 5.1.30 JspRun!论坛程序版本 ---------------------------------------- JspRun! 6.0.0 GBK Release 20101028 / JspRun! 6.0.0 UTF-8 Release 20101028 二、安装步骤 ============ 1. 将EasyJspRun6.0下载并上传到Linux主机; 2. 以root身份登录主机,执行tar xzvf EasyJspRun6.0.tar.gz 解包; 3. 进入EasyJspRun6.0目录,并执行./install.sh; 4. 出现“Please set MySQL root password:”提示时,请设置MySQL root密码; 5. 出现“Where to create WEB ROOT directory?(default:/home/web)[DO NOT contain / at the end!!]:”提示时,请输入您想建立网站根目录的路径,例如:/home/webapp (★特别注意:输入路径时,路径的末尾不要加/) 6. 出现“Please input your server name(default:www.mydomain.com):”提示时,请输入您的服务器域名或主机名; 三、使用说明 ============ 1. 全部安装完毕后,执行./start.sh启动JspRun! 2. 打开浏览器输入http://服务器IP地址/install.jsp,如果能够正常访问,则说明JspRun!论坛安装成功; 3. 您可以通过执行./stop.sh停止JspRun! 四、环境说明 ============ Apache安装位置:/usr/local/apache2 mod_jk安装位置:/usr/local/apache2/modules/ Tomcat安装位置:/usr/local/tomcat JDK 安装位置:/usr/local/jdk MySQL 数据库目录:/var/lib/mysql

24,923

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Apache
社区管理员
  • Apache
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧