resin4中配置端口和虚拟目录的方法

    在JAVA WEB容器大家族中,Resin可以算的上最轻巧最快速的服务器了。我个人非常喜欢在产品开发阶段使用Resin来测试和调试,因为开发阶段需要频繁地重启服务器。在给客户进行产品部署的时候我还是趋向于使用Tomcat,因为tomcat是全部免费的,而且使用者很多,再加上NIO和GZip模式可以优化服务器性能以及tomcat出色的稳定性。
    Resin4可以给不同的Web app分配不同的端口,也就是说Resin4可以同时开启多个端口的服务,这一点是非常赞的,在tomcat中想要实现这个就必须另外再来一份tomcat,配置不同的端口。而Resin4就不需要了,给不同的应用设置好相应的端口就OK了。Resin4有一个全局端口,也就是默认端口,可以在conf/resin.properties文件中,对HTTP元素进行简单的修改,如下:
# Set HTTP and HTTPS ports
http          : 8080
# https         : 8443
    在Resin中创建虚拟目录的方式是修改conf/resin.xml文件,正如我刚刚说的,每一个虚拟目录都是一个Web app,都可以配置独立的端口号。在resin.xml中一个cluster就代表一个端口应用,代码如下:
  <cluster id="app">
    <!-- define the servers in the cluster -->
    <server-multi id-prefix="app-" address-list="${app_servers}" port="6800"/>

    <host-default>
      <!-- creates the webapps directory for .war expansion -->
      <web-app-deploy path="webapps"
                      expand-preserve-fileset="WEB-INF/work/**"
                      multiversion-routing="${webapp_multiversion_routing}"/>
    </host-default>

    <!-- auto virtual host deployment in hosts/foo.example.com/webapps -->
    <host-deploy path="hosts"/>

    <!-- the default host, matching any host name -->
    <host id="" root-directory=".">
      <!--
         - webapps can be overridden/extended in the resin.xml
        -->
      <web-app id="/" root-directory="webapps/ROOT"/>
	  <web-app id="/jPress" root-directory="D:\workspace\java\myeclipse10\jPress\WebRoot"/>
      
      <resin:if test="${resin_doc}">
        <web-app id="/resin-doc" root-directory="${resin.root}/doc/resin-doc"/>
      </resin:if>
    </host>
  </cluster>
    这个cluster是web-app的主簇,在其中添加<web-app>标签就可以配置虚拟目录了,这时候这个应用是使用默认端口进行部署的。如果要给这个簇配置特定的端口号,可以在cluster标签第一个元素前面加上<server-default>标签,如下:
<resin xmlns="http://caucho.com/ns/resin"
          xmlns:resin="urn:java:com.caucho.resin">

  <cluster-default>          
    <!-- shared configuration across all clusters -->    
    <resin:import path="classpath:META-INF/caucho/app-default.xml"/>    
    <resin:import path="${__DIR__}/health.xml" optional="true"/>
  </cluster-default>  
           
  <cluster id="my-cluster">
    <server-default>
      <!-- thread limits, JVM config, keepalives, ports, HTTP -->
      <http port="8083"/>
    </server-default>

    <host id="www.myhost.com" root-directory="hosts/myhost.com">
      <resin:MovedPermanently regexp="/old-file" target="/new-path"/>   
      <web-app-deploy path="webapps"
           expand-preserve-fileset="WEB-INF/work/**"/>
      <web-app id="/custom">
      </web-app>      
    </host>

  </cluster>     
 
</resin>

posted on 2012-03-23 18:35  newflypig  阅读(2096)  评论(0编辑  收藏  举报

导航