使用tomcat的大规模虚拟主机

时间:2011-04-13 19:09:23

标签: tomcat virtual host

我正在使用tomcat 5.5来提供超过100个站点(假设my-gwt-site-1.com到my-gwt-site-100.com)。
我的所有站点都使用以前部署的gwt应用程序的单个实例,它们之间唯一的区别在于server.xml中的“Host”配置部分:

<Host name="my-gwt-site-1.com" appBase="webapps">
<Context path="" reloadable="true" docBase="/my-gwt-app/" debug="1"
unpackWARs="false" autoDeploy="false" xmlValidation="false" xmlNamespaceAware="false" crossContext="true">

<Resource name="jdbc/mysql/db_1" auth="Container" type="javax.sql.DataSource"

initialSize="2" maxActive="50" maxIdle="5" 
maxWait="15000" removeAbandoned="true" removeAbandonedTimeout="2"
validationQuery="select now();"

username="root" password="pass" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/db_1"
/>
</Context>

&安培;它重新发布我的所有网站...

<Host name="my-gwt-site-100.com" appBase="webapps">
<Context path="" reloadable="true" docBase="/my-gwt-app/" debug="1"
unpackWARs="false" autoDeploy="false" xmlValidation="false" xmlNamespaceAware="false" crossContext="true">

<Resource name="jdbc/mysql/db_100" auth="Container" type="javax.sql.DataSource"

initialSize="2" maxActive="50" maxIdle="5" 
maxWait="15000" removeAbandoned="true" removeAbandonedTimeout="2"
validationQuery="select now();"

username="root" password="pass" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/db_100"
/>
</Context>

我这样做的唯一原因是因为我的应用程序需要为每个域使用单独的资源 当server.xml中的数字“host”部分大约为5时,没有问题,但是当它增长到大约10或更多时,tomcat服务器成功启动但它无法加载我的任何网站(似乎它崩溃了背景默默!)
我想知道这是一个很好的解决方案,在server.xml中添加了很多“主机”标签,还是有更好的方法来做到这一点?注意我只想为我的所有网站使用一个带有单独数据库的代码 另一个问题是,有多少个java站点(每个站点有大约500个用户和低流量)通常可以在一台服务器上运行(有2个Quand Core CPU和4GB RAM)?

0 个答案:

没有答案