在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">
-
- <server-multi id-prefix="app-" address-list="${app_servers}" port="6800" />
-
- <host-default>
-
- <web-app-deploy path="webapps" expand-preserve-fileset="WEB-INF/work/**"
- multiversion-routing="${webapp_multiversion_routing}" />
- </host-default>
-
-
- <host-deploy path="hosts" />
-
-
- <host id="" root-directory=".">
-
- <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:///ns/resin" xmlns:resin="urn:java:com.caucho.resin">
-
- <cluster-default>
-
- <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>
-
- <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>
|