apache+tomcat 子目录映射成子域名


 

tomcat +java 项目中,一个项目中多个目录来维持不同的模块,但是用子目录方式访问站点不是很合适

 

http://localhost:8080/a         www.test.com/a

http://localhost:8080/b         www.test.com/b        

http://localhost:8080/c         www.test.com/c

 

为了更好的体现中java项目的优越性,把以上子目录改成子域名

 

 

http://localhost:8080/a         www.test.com/a             a.test.com

http://localhost:8080/b         www.test.com/b             b.test.com        

http://localhost:8080/c         www.test.com/c             c.test.com

 

很多地方使用.htaccess来配置,但是apache和tomcat组合没有办法使用这一组合。

下面就是配置方法:

下载windows 版本apache

http://labs.renren.com/apache-mirror//httpd/binaries/win32/httpd-2.2.21-win32-x86-no_ssl.msi

 

选择默认地址安装apache服务器

C:\Program Files (x86)\Apache Software Foundation\Apache2.2

 

找到conf/httpd.conf文件,打开后改动一些配置 

 

取消下面的注释,删除前面的#

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

LoadModule proxy_connect_module modules/mod_proxy_connect.so

LoadModule proxy_http_module modules/mod_proxy_http.so

LoadModule rewrite_module modules/mod_rewrite.so

 

 

 

conf/httpd.conf最下方添加

 

NameVirtualHost *:80

 

<VirtualHost *:80>        

        ServerName mnr.test.com

        RewriteEngine on

        RewriteRule ^/(.*) ajp://127.0.0.1:8109/mnr/$1 [P]

</VirtualHost>

 

 

<VirtualHost *:80>

    ServerName test.com:80

    RewriteEngine   on

    RewriteRule ^(.*)$   http://www.test.com/$1 [L,R=301]

</VirtualHost>

 

<VirtualHost *:80>

#    ProxyPass / ajp://0.0.0.0:8109/

    ServerName www.test.com:80

    DocumentRoot "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs"

</VirtualHost>

 

 

 

 

保存conf/httpd.conf文件时提示无权限,如下方式操作

C盘-----右键属性------高级----更改权限----Administrators----确定。

也要把users权限加上去 www.2cto.com

 

 

 

tomcat 服务器的配置说明

server.xml

为了与其他服务器不冲突,这的端口都改掉

80xx端口全部改成81xx端口

一共有:

<Server port="8105" shutdown="SHUTDOWN">

 <Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8180" protocol="HTTP/1.1" redirectPort="8443"/>

  <Connector port="8109" protocol="AJP/1.3" redirectPort="8443"/>

 

为了能够用http://localhost:8180/访问,配置如下 

<Context path=""  docBase="D:\ProgramFiles\Workspaces2\oms\WebRoot" reloadable="false" crossContext="true" />

 

 

配置完成后,启动tomcat,访问

localhost:8180/a/login.jhtml

访问正常,则tomcat配置正确

 

 

配置host文件

C:\Windows\System32\drivers\etc\hosts

 

127.0.0.1    test.com

127.0.0.1    www.test.com

127.0.0.1    a.test.com

127.0.0.1    b.test.com

 

启动apache

之后,用www.test.com访问正确时配置正确

 

再通过http://a.test.com/login.jhtml访问正确时,配置全部完成

摘自 野马

相关内容

    暂无相关文章