上面只是配好apache与resin的整合,其它很多企业应用中还涉及到配置apache与resin的虚拟主机的配置,下面我们接着来说说如何利用apache与resin配置虚拟主机了,注意以下介绍的都是基于一个IP多个域名的虚拟主机的配法,我在我公司服务器测试过,步骤如下:
前提分支条件:
如果你有两个域名及一个外网的服务器的话,可以不用在本机的c:winnt目录下搜hosts文件,进入下面步骤。
如果没有域名及外网服务器,想先在本机resin+apache测试,可以先到系统windows目录下搜hosts文件,windows2000系统在C:\WINNT\system32\drivers\etc目录下,然后打开它,
在原有的基础上增加如下配置
以上配置是指定apache的虚拟主机,当apache向resin转发消息请求
- 127.0.0.1 www.testmyfather.com
- 127.0.0.1 www.testmymother.com
再进入下面步骤:
1回到apache,让我们先在apache配置虚拟主机吧,
进入apache的httpd.conf文件,找开它,找到Listen 80位置
在其下添加如下虚拟主机的配置
# 为虚拟主机在所有IP地址上监听
xml 代码
- NameVirtualHost *:80
- <VirtualHost *:80>
- DocumentRoot C:/Apache2.2/htdocs/bbs71
- ServerPath /bbs
- ServerName www.testmyfather.com
- # 你可以在这里添加其他指令
- VirtualHost>
- <VirtualHost *:80>
- DocumentRoot C:/Apache2.2/htdocs/blnywebsite
- ServerName www.testmymother.com
- # 你可以在这里添加其他指令
- VirtualHost>
为了让resin也能识别出是那个域名的客户端浏览器的请求
所以第二步在resin的配置文件resin.conf文件中配置如下:
在resin.conf中找到标记,在此标记中间大致是280多行添加新的主机
- <host id="www.testmyfather.com" root-directory=".">
- <host-alias>testmyfather.comhost-alias>
- <web-app id="/bbs" root-directory="C:/Apache2.2/htdocs/bbs71">
- web-app>
- host>
- <host id="www.testmymother.com" root-directory=".">
- <host-alias>testmymother.comhost-alias>
- <web-app id="/" root-directory="C:/Apache2.2/htdocs/blnywebsite">
- <servlet-mapping url-pattern='/servlet/' servlet-name='invoker'/>
- web-app>
- host>
xml 代码
以上配置完成了虚拟主机的应用。可以到测试一下,看看apache是不是根据不同的域名请求找不同的应用。
最后注意:域名的名称及应用服务的目录都要对应得上,另外对于servlet的应用的话,加最好加上/servlet/的多一层目录映射,否则apache转发后resin不会解析成servlet,在很多人配置整合会发现resin服务下WEB应用图片的路径问题,这是由于apache对于图片都自己给解析,就不把请求给RESIN了在自己的虚拟主机目录下找图片文件,只要你把apache配置的虚拟主机的主目录与resin应用的主目录在同一个路径下,就OK了!