/ 中存储网

Apache+tomcat多站点配置方法

2014-04-19 08:42:01 来源:kejihao
最近帮人用Apache+Tomcat在同一台IP的服务器上设置多域名指向不同网站站点,花费了不少的时间。尤其是配置信息的时候,从网上找的资料有很多是错误的,误认不浅。所以今天特意把它记下来,以备后面使用。

首先说一下我的需求是这样:apache作为前端分发器,把域名解析的内容转发到后台的Tomcat上去,tomcat也只有一个,但拥有2个不同的实例。就是分别是2个不同的网站。不要根据不同域名转向tomcat后台不同的网站上去。

现在开始讲讲配置流程:

1.进入apache的htpd.conf中配置:

#如果有2个以上域名必须写这句,要不会出错。

NameVirtualHost   *:80

<VirtualHost   *:80>

ServerAdmin   [email protected]

#网站放置的路径

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   [email protected]

#另一个网站路径

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,看看效果吧