Application Server: Parameterized Web Server Cluster

From Resin 4.0 Wiki

Revision as of 00:00, 20 January 2012 by Ferg (Talk | contribs)
Jump to: navigation, search

Gears-48.pngWeb-48.pngCookbook-48.png


  • complete web-server cluster example
  • resin.properties to parameterized values
  • http port parameterized with EL ${http}
  • cluster local IP parameterized with EL ${web_servers}
  • server-multi expands into multiple servers by its parameters
  • applications deploys with webapps/foo.war
  • root application in webapps/ROOT
  • sample shows a 3-server configuration but can use 1 to n servers.
  • includes health system

startup

 unix> resinctl start

Resin will find the server configuration belonging to it by looking at the IP interfaces.

/etc/resin/resin.properties

 http : 8080
 web_servers : 192.168.1.10 192.168.1.11 192.168.1.12

If you are using Resin Open Source, you can use a single web_server (like 192.168.1.10). More than one web_server in the cluster requires Resin Professional.

/etc/resin/resin.xml

<resin xmlns="http://caucho.com/ns/resin"
       xmlns:resin="urn:java:com.caucho.resin">

   <resin:properties path="${__DIR__}/resin.properties" optional="true"/>

   <log-handler name="" level="all" path="stdout:"/>

   <home-cluster>web</home-cluster>
   <resin:import path="${__DIR__}/health.xml"/>

   <cluster id="web">
     <resin:import path="classpath:META-INF/caucho/app-default.xml"/>

     <server-multi id-prefix="web-" address-list="${web_servers}" port="6800">
       <http port="${http}"/>
     </server-multi>

     <host id="">
       <web-app-deploy path="webapps"/>
     </host>
       
   </cluster>

</resin>
Personal tools
TOOLBOX
LANGUAGES