11ho 发表于 2015-8-5 12:46:40

Apache和Tomcat 实现泛域名解析的尝试[转]

  你想让自己的服务器为每个会员提供一个独立的二级域名吗?比如
aa.test.com
bb.test.com/blog
当然aa、bb都是你的一个会员而已

下面是我今天尝试成功的部分
  1 安装apache ,tomcat 和 mod_jk部分我就不说了,如果你不能使用它们,请参考其它教程
  2 相关的配置文件
  httpd.conf



# 去掉这个前面的#,启用它
LoadModule rewrite_module modules/mod_rewrite.so

# 启用jk,同时配置参数
LoadModule    jk_module    modules/mod_jk.so      
JkWorkersFile    D:/Apache2.2/conf/workers.properties   
JkLogFile    d:/Apache2.2/logs/mod_jk.log   
JkLogLevel    info   
#JkLogLevel    debug   
JkLogStampFormat   "[%a    %b    %d    %H:%M:%S    %Y]   "   
JkOptions    +ForwardKeySize    +ForwardURICompat    -ForwardDirectories   
JkRequestLogFormat   "%w    %V    %T"   
JkMount    /servlet/*    myloadbalancer   
JkMount    /*.jsp    myloadbalancer

# 虚拟主机,这里模拟了 a.test.com 和 b.test.com 以及 a.tst.com/blog的调用


ServerAdmin yourmail@domain.com
DocumentRoot D:Apache2.2htdocs
ServerName all-sites
ErrorLog logs/all-sites-error.log
CustomLog logs/all-sites-access.log common
RewriteEngine On
# 下面四行实现动态解析
RewriteCond %{HTTP_HOST} ^+.test.com$
RewriteRule ^/(.*)$ /%{HTTP_HOST}/$1
RewriteRule ^/(+).test.com/?$ /index.jsp?u=$1
RewriteRule ^/(+).test.com/blog(/(.*))?$ /blog.jsp?u=$1&$3


   Options FollowSymLinks
   AllowOverride None
   Order allow,deny
   Allow from all


  workers.properties


   worker.list=myloadbalancer   
   
   worker.tomcat1.type=ajp13   
   worker.tomcat1.host=localhost   
   worker.tomcat1.port=8009   
   worker.tomcat1.lbfactor=1   
      
   
   worker.myloadbalancer.type=lb   
   worker.myloadbalancer.balance_workers=tomcat1   
   worker.status.type=status  server.xml
去掉前后的启用 8009端口


页: [1]
查看完整版本: Apache和Tomcat 实现泛域名解析的尝试[转]