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

时间:2022-09-10 16:54:04

细说Cache

http://blog.csdn.net/yanghua_kobe/article/details/7093421

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

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项目的优越性,把以上子目录改成子域名apache+tomcat 子目录映射成子域名


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权限加上去



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访问正确时,配置全部完成