TOUVE 发表于 2017-1-10 09:43:50

Apache+Tomcat 同一IP多域名多网站配置

  最近帮人用Apache+Tomcat在同一台IP的服务器上设置多域名指向不同网站站点,花费了不少的时间。尤其是配置信息的时候,从网上找的资料有很多是错误的,误认不浅。所以今天特意把它记下来,以备后面使用。
  首先说一下我的需求是这样:apache作为前端分发器,把域名解析的内容转发到后台的Tomcat上去,tomcat也只有一个,但拥有2个不同的实例。就是分别是2个不同的网站。不要根据不同域名转向tomcat后台不同的网站上去。
  现在开始讲讲配置流程:
  1.进入apache的htpd.conf中配置:
  #如果有2个以上域名必须写这句,要不会出错。
  NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin webmaster@starao.com
  #网站放置的路径
DocumentRoot /*****/ROOT
  #申请的域名
ServerName *****.com
#通过mode_jk把所有该域名的http请求转发到worker3申明的tomca下
JkMount /* worker3
  #错误信息打印的日志
ErrorLog /usr/local/apache2/logs/error_log
#CustomLog /usr/local/apache2/logs/access_log
</VirtualHost>
  #设置改路径下的权限为:可访问、可读、可写
  <Directory /home/tomcat/tomcat/webapps/ROOT>
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
  #和上面一样的配置
  <VirtualHost *:80>
ServerAdmin webmaster@starao.com
#另一个网站路径
  DocumentRoot /*****/company
  #另一个域名
ServerName *****.com
#所有该域名下的请求发到ankaisteel申明的tomcat下
  JkMount /* ankaisteel
ErrorLog /usr/local/apache2/logs/error_log
#CustomLog /usr/local/apache2/logs/access_log
</VirtualHost>
  <Directory /home/tomcat/tomcat/webapps/company>
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
  #引用mod_jk的配置文件
  Include conf/mod_jk.conf
  2.我们来配置workers.properties
  #apache需要分发到后台tomcat域名的列表
  worker.list=worker3,ankaistee
  # Set properties worker3 for tomcat (ajp13)
worker.worker3.type=ajp13
  #这个名称一定要和tomcat的虚拟主机名配置成一样
worker.worker3.host=localhost
worker.worker3.port=8010
worker.worker3.lbfactor=50
worker.worker3.connection_pool_size=512
worker.worker3.connection_pool_timeout=600
worker.worker3.socket_keepalive=1
worker.worker3.socket_timeout=60
#worker.worker3.cachesize=10
#worker.worker3.cache_timeout=600
#worker.worker3.recycle_timeout=300
  # Set ankaisteel for tomcat (ajp13)
worker.ankaisteel.port=8010
#这个名称一定要和tomcat的虚拟主机名配置成一样
  worker.ankaisteel.host=*****.com
worker.ankaisteel.type=ajp13
worker.ankaisteel.lbfactor=1
  3.我们来配置uriworkermap.properties
  #这两个配置不是很确定,没有测试过没有这两句行不行
  /*=ankaisteel
/*=worker3
  4.配置tomcat的server.xml
  在server.xml的最后面加上:
  <Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/usr/local/tomcat/webapps/ROOT" path="" reloadable="true"/>
</Host>
<Host name="*****.com" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/usr/local/tomcat/webapps/company" path="" reloadable="true"/>
  这里name一定要和前面host一致,path参数一定不要写。
  综上所述就可以配置成功了!重启apache和tomcat,看看效果吧
页: [1]
查看完整版本: Apache+Tomcat 同一IP多域名多网站配置