Cluster with Two Servers
From Resin 3.0
(Difference between revisions)
(New page: Category: Cookbook == resin.xml configuration == <resin xmlns="http://caucho.com/ns/resin" xmlns:resin="urn:java:com.caucho.resin"> <log-handler name="" level="all" p...) |
|||
(7 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{Cleanup}} | ||
[[Category: Cookbook]] | [[Category: Cookbook]] | ||
+ | |||
+ | This is a basic Resin configuration with two servers in a single cluster. | ||
+ | Since this configuration does not have a load balance tier, it needs a load balancer | ||
+ | (Resin, Apache or hardware) to work properly. | ||
+ | |||
+ | * The two servers act as backups for each other for clustering purposes, because they form | ||
+ | the first two clusters of a triad. The two servers check each others heartbeats, record statistics and | ||
+ | save each others statistics and error logs. | ||
+ | |||
+ | * Each server listens to HTTP port 8080 and serves web-apps from the webapps directory. | ||
+ | The root web-app would be in webapps/ROOT, for example. Standard servlet behavior and jsp and php | ||
+ | support is enabled with the <resin:import> of app-default.xml. | ||
+ | |||
+ | * JDK logging goes to stdout, which goes to jvm-a.log and jvm-b.log as managed by | ||
+ | the [[watchdog]]. | ||
+ | |||
+ | * Proxy caching is enabled to improve performance. | ||
+ | |||
+ | * The /resin-admin is enabled. Passwords belong in ${resin.home}/conf/admin-users.xml | ||
== resin.xml configuration == | == resin.xml configuration == | ||
<resin xmlns="http://caucho.com/ns/resin" | <resin xmlns="http://caucho.com/ns/resin" | ||
− | + | xmlns:resin="urn:java:com.caucho.resin"> | |
<log-handler name="" level="all" path="stdout:" | <log-handler name="" level="all" path="stdout:" | ||
Line 10: | Line 30: | ||
<logger name="com.caucho" level="info"/> | <logger name="com.caucho" level="info"/> | ||
− | + | ||
+ | <resin:AdminAuthenticator> | ||
+ | <resin:import path="${__DIR__}/admin-users.xml" optional="true"/> | ||
+ | </resin:AdminAuthenticator> | ||
+ | |||
<cluster id="my-cluster"> | <cluster id="my-cluster"> | ||
<server-default> | <server-default> | ||
Line 18: | Line 42: | ||
<server id="a" address="192.168.1.10" port="6800"/> | <server id="a" address="192.168.1.10" port="6800"/> | ||
<server id="b" address="192.168.1.11" port="6801"/> | <server id="b" address="192.168.1.11" port="6801"/> | ||
− | + | ||
<resin:import path="${__DIR__}/app-default.xml"/> | <resin:import path="${__DIR__}/app-default.xml"/> | ||
+ | <development-mode-error-page/> | ||
+ | |||
<proxy-cache memory-size="64M"/> | <proxy-cache memory-size="64M"/> | ||
− | + | ||
<resin:DeployService/> | <resin:DeployService/> | ||
<resin:JmxService/> | <resin:JmxService/> | ||
Line 32: | Line 58: | ||
format='%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"' | format='%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"' | ||
rollover-period="1W"/> | rollover-period="1W"/> | ||
− | + | ||
<web-app-deploy path="webapps"/> | <web-app-deploy path="webapps"/> | ||
+ | |||
+ | <web-app id="/resin-admin" root-directory="${resin.root}/doc/admin"> | ||
+ | <prologue> | ||
+ | <resin:set var="resin_admin_external" value="false"/> | ||
+ | <resin:set var="resin_admin_insecure" value="true"/> | ||
+ | </prologue> | ||
+ | </web-app> | ||
+ | |||
</host> | </host> | ||
</cluster> | </cluster> | ||
</resin> | </resin> |
Latest revision as of 15:50, 2 December 2011
This article requires cleanup and may refer to a legacy version of Resin.
Please visit http://www.caucho.com/documentation/ for the most up-to-date documentation. |
This is a basic Resin configuration with two servers in a single cluster. Since this configuration does not have a load balance tier, it needs a load balancer (Resin, Apache or hardware) to work properly.
- The two servers act as backups for each other for clustering purposes, because they form
the first two clusters of a triad. The two servers check each others heartbeats, record statistics and save each others statistics and error logs.
- Each server listens to HTTP port 8080 and serves web-apps from the webapps directory.
The root web-app would be in webapps/ROOT, for example. Standard servlet behavior and jsp and php support is enabled with the <resin:import> of app-default.xml.
- JDK logging goes to stdout, which goes to jvm-a.log and jvm-b.log as managed by
the watchdog.
- Proxy caching is enabled to improve performance.
- The /resin-admin is enabled. Passwords belong in ${resin.home}/conf/admin-users.xml
[edit] resin.xml configuration
<resin xmlns="http://caucho.com/ns/resin" xmlns:resin="urn:java:com.caucho.resin"> <log-handler name="" level="all" path="stdout:" timestamp="[%y-%m-%d %H:%M:%S.%s] "/> <logger name="com.caucho" level="info"/> <resin:AdminAuthenticator> <resin:import path="${__DIR__}/admin-users.xml" optional="true"/> </resin:AdminAuthenticator> <cluster id="my-cluster"> <server-default> <http port="8080"/> </server-default> <server id="a" address="192.168.1.10" port="6800"/> <server id="b" address="192.168.1.11" port="6801"/> <resin:import path="${__DIR__}/app-default.xml"/> <development-mode-error-page/> <proxy-cache memory-size="64M"/> <resin:DeployService/> <resin:JmxService/> <resin:LogService/> <resin:StatService/> <host id=""> <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"/> <web-app id="/resin-admin" root-directory="${resin.root}/doc/admin"> <prologue> <resin:set var="resin_admin_external" value="false"/> <resin:set var="resin_admin_insecure" value="true"/> </prologue> </web-app> </host> </cluster> </resin>