原文:http://blog.csdn.net/eagelangel/article/details/20130087
系统:windowsxp
C:\WINDOWS\system32\drivers\etc\hosts文件 添加
127.0.0.1 www.abc.com
127.0.0.1 www.efg.com
这样可以测试www.abc.com,www.efg.com两个域名指向本地服务器。
注:保存后, ping www.abc.com #测试修改是否有效。
2、配置多个tomcat实例,并假定http://localhost:8080部署abc项目,http://localhost:8090部署efg项目。注:配置多个tomcat实例,注意端口不冲突,同时最好在tomcat的conf/server.xml配置文件中,修好host节点的内容,使项目文件独立于tomcat目录。配置如下:
2.1http://localhost:8080
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="D:\project\abc" reloadable="true"
caseSensitive="false" debug="0"></Context>
</Host>
2.2http://localhost:8090
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="D:\project\efg" reloadable="true"
caseSensitive="false" debug="0"></Context>
</Host>
3、配置Apache
3.1修改 Apache2.2\confhttpd.conf,将以下三项的注释符"#"去掉
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
3.2修改Apache2.2\conf\extrahttpd-vhosts.conf文件
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.abc.com
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
<Location />
Order allow,deny
Allow from all
</Location>
</VirtualHost>
<VirtualHost *:80>
ServerName www.efg.com
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://localhost:8090/
ProxyPassReverse / http://localhost:8090/
<Location />
Order allow,deny
Allow from all
</Location>
</VirtualHost>
注意:在配置apache虚拟机时,如果转发的url地址带有子目录的,ProxyPass后面的子目录名称跟转发的url后缀的子目录名称要相同。如:
ProxyPass /xx1 http://localhost:8090/xx1
此时在网站上就要输入http://www.abc.com/xx1才能正确访问。
4、启动多个tomcat实例,重启Apache。
在网址中分别输入http://www.abc.com和http://www.efg.com即可看到效果。祝好运!