Resin4比Resin3在于配置文件的结构上面更优秀。 具体实例说明Resin version:4.0.16 Resin4配置中Cluster结构(以下只是描述关键cluster部分,其他部分不需要做太大修改) <cluster-default> <resin:import path="${__DIR__}/app-default.xml"/> <development-mode-error-page/> <resin:if test="${resin.professional}"> <cache memory-size="64M"> <rewrite-vary-as-private/> </cache> </resin:if> <host-default> <access-log path="log/access.log" format='%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"' rollover-period="1W"/> <web-app-deploy path="webapps" versioning="true"/> <web-app-default> <prologue> <allow-servlet-el/> </prologue> <session-config> <use-persistent-store/> <enable-url-rewriting>false</enable-url-rewriting> </session-config> <resin:if test="${resin.professional}"> <cache-mapping url-pattern="/" max-age="5s"/> <cache-mapping url-pattern="*.gif" max-age="60s"/> <cache-mapping url-pattern="*.jpg" max-age="60s"/> <cache-mapping url-pattern="*.png" max-age="60s"/> <cache-mapping url-pattern="*.css" max-age="60s"/> <cache-mapping url-pattern="*.js" max-age="60s"/> </resin:if> </web-app-default> </host-default> </cluster-default> 下面紧跟自定义的cluster,可以继承default Cluster的所有属性。 前端分发器的配置XML<cluster id="web-tier"> <resin:import path="${__DIR__}/vhost/web-tier.xml"/> </cluster> 后端处理器的配置XML<cluster id="app-tier"> <resin:import path="${__DIR__}/vhost/app-tier.xml"/> </cluster> PS:Resin3中Resin路径变量名为${resin.home},Resin4中已经替换成以上写法. web-tier.xml<cluster xmlns="http:///ns/resin" xmlns:resin="urn:java:com.caucho.resin"> <server id="web" address="127.0.0.1" port="6800"> <http port="80" /> </server> <server-default> <http address="*" port=""/> <user-name>www</user-name> <group-name>www</group-name> </server-default> <host id="" root-directory="."> <web-app id="/" root-directory="webapps/ROOT"/> </host> <resin:LoadBalance regexp="" cluster="app-tier"/> </cluster> app-tier.xml<cluster xmlns="http:///ns/resin" xmlns:resin="urn:java:com.caucho.resin"> <server id="a" address="127.0.0.1" port="6810"><http address="*" port="81"/></server> <server id="b" address="127.0.0.1" port="6811"><http address="*" port="82"/></server> <host id="" root-directory="."> <web-app id="/" root-directory="webapps/ROOT"/> </host> </cluster> 结束语如果有新的后端分发进程添加或者删除,只是需要在app-tier.xml中修改就可以完成,无需修改主resin.xml文件 而且按照这样的配置,对于多虚拟机,管理虚拟机更方便,快捷。 题外话:如果resin能支持正则表达式和整个cluster导入,那就更方便了。 |
|