Application Server: Parameterized Web Server Cluster

From Resin 4.0 Wiki

(Difference between revisions)
Jump to: navigation, search
Line 10: Line 10:
 
* root application in webapps/ROOT
 
* root application in webapps/ROOT
 
* sample shows a 3-server configuration but can use 1 to n servers.
 
* sample shows a 3-server configuration but can use 1 to n servers.
 +
* includes health system
  
 
== startup ==
 
== startup ==
Line 15: Line 16:
 
   unix> resinctl start
 
   unix> resinctl start
  
Resin will fine the server configuration belonging to it by looking at the IP interfaces.
+
Resin will find the server configuration belonging to it by looking at the IP interfaces.
  
 
=== /etc/resin/resin.properties ===
 
=== /etc/resin/resin.properties ===
Line 21: Line 22:
 
   http : 8080
 
   http : 8080
 
   web_servers : 192.168.1.10 192.168.1.11 192.168.1.12
 
   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 ===
 
=== /etc/resin/resin.xml ===
Line 32: Line 36:
 
   
 
   
 
     <home-cluster>web</home-cluster>
 
     <home-cluster>web</home-cluster>
 +
 +
    <resin:import path="${__DIR__}/health.xml"/>
 
   
 
   
 
     <cluster id="web">
 
     <cluster id="web">
 
       <resin:import path="classpath:META-INF/caucho/app-default.xml"/>
 
       <resin:import path="classpath:META-INF/caucho/app-default.xml"/>
 
   
 
   
       <server-multi id-prefix="web-" address_list="${web_servers}" port="6800">
+
       <server-multi id-prefix="web-" address-list="${web_servers}" port="6800">
 
         <http port="${http}"/>
 
         <http port="${http}"/>
 
       </server-multi>
 
       </server-multi>

Revision as of 00:00, 20 January 2012

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