|
@@ -0,0 +1,166 @@
|
|
|
+<!--
|
|
|
+ - Resin 4.0 configuration file.
|
|
|
+ -->
|
|
|
+<resin xmlns="http://caucho.com/ns/resin"
|
|
|
+ xmlns:resin="urn:java:com.caucho.resin">
|
|
|
+
|
|
|
+ <!-- property-based Resin configuration -->
|
|
|
+ <resin:properties path="${__DIR__}/resin.properties" optional="true"/>
|
|
|
+
|
|
|
+ <resin:if test="${properties_import_url}">
|
|
|
+ <resin:properties path="${properties_import_url}"
|
|
|
+ optional="true" recover="true"/>
|
|
|
+ </resin:if>
|
|
|
+
|
|
|
+
|
|
|
+ <!-- Logging configuration for the JDK logging API -->
|
|
|
+ <log-handler name="" level="all" path="stdout:"
|
|
|
+ timestamp="[%y-%m-%d %H:%M:%S.%s]"
|
|
|
+ format=" {${thread}} ${log.message}"/>
|
|
|
+
|
|
|
+ <!--
|
|
|
+ - Alternative pseudo-TTCC log format
|
|
|
+ -
|
|
|
+ - <log-handler name="" level="all" path="stdout:"
|
|
|
+ - timestamp="%y-%m-%d %H:%M:%S.%s"
|
|
|
+ - format=" [${thread}] ${log.level} ${log.shortName} - ${log.message}"/>
|
|
|
+ -->
|
|
|
+
|
|
|
+ <!--
|
|
|
+ - level='info' for production
|
|
|
+ - 'fine' or 'finer' for development and troubleshooting
|
|
|
+ -->
|
|
|
+ <logger name="" level="${log_level?:'info'}"/>
|
|
|
+
|
|
|
+ <logger name="com.caucho.java" level="config"/>
|
|
|
+ <logger name="com.caucho.loader" level="config"/>
|
|
|
+
|
|
|
+ <!--
|
|
|
+ - Default configuration applied to all clusters, including
|
|
|
+ - HTTP, HTTPS, and /resin-admin configuration.
|
|
|
+ -->
|
|
|
+ <resin:import path="${__DIR__}/cluster-default.xml"/>
|
|
|
+
|
|
|
+ <!--
|
|
|
+ - health configuration
|
|
|
+ -->
|
|
|
+ <resin:import path="${__DIR__}/health.xml"/>
|
|
|
+
|
|
|
+
|
|
|
+ <!--
|
|
|
+ - Remote management requires at least one enabled admin user.
|
|
|
+ -->
|
|
|
+ <resin:AdminAuthenticator>
|
|
|
+ <user name="${admin_user}" password="${admin_password}"/>
|
|
|
+
|
|
|
+ <resin:import path="${__DIR__}/admin-users.xml" optional="true"/>
|
|
|
+ </resin:AdminAuthenticator>
|
|
|
+
|
|
|
+ <!--
|
|
|
+ - For clustered systems, create a password in as cluster_system_key
|
|
|
+ -->
|
|
|
+ <cluster-system-key>${cluster_system_key}</cluster-system-key>
|
|
|
+
|
|
|
+ <!--
|
|
|
+ - For production sites, change dependency-check-interval to something
|
|
|
+ - like 600s, so it only checks for updates every 10 minutes.
|
|
|
+ -->
|
|
|
+ <dependency-check-interval>${dependency_check_interval?:'2s'}</dependency-check-interval>
|
|
|
+
|
|
|
+ <!-- For resin.properties dynamic cluster joining -->
|
|
|
+ <home-cluster>${home_cluster}</home-cluster>
|
|
|
+ <home-server>${home_server}</home-server>
|
|
|
+ <elastic-server>${elastic_server}</elastic-server>
|
|
|
+ <elastic-dns>${elastic_dns}</elastic-dns>
|
|
|
+
|
|
|
+ <!--
|
|
|
+ - JSSE default properties
|
|
|
+ -->
|
|
|
+ <system-property
|
|
|
+ jdk.tls.ephemeralDHKeySize="2048"
|
|
|
+ jdk.tls.rejectClientInitiatedRenegotiation="true"
|
|
|
+ sun.security.ssl.allowUnsafeRenegotiation="false"
|
|
|
+ sun.security.ssl.allowLegacyHelloMessages="false"/>
|
|
|
+
|
|
|
+ <!--
|
|
|
+ - Configures the main application cluster. Load-balancing configurations
|
|
|
+ - will also have a web 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="/data/project"
|
|
|
+ expand-preserve-fileset="WEB-INF/work/**"
|
|
|
+ multiversion-routing="${webapp_multiversion_routing}"
|
|
|
+ path-suffix="${elastic_webapp?resin.id:''}"/>
|
|
|
+ </host-default>
|
|
|
+
|
|
|
+ <!-- auto virtual host deployment in hosts/foo.example.com/webapps -->
|
|
|
+ <host-deploy path="hosts">
|
|
|
+ <host-default>
|
|
|
+ <resin:import path="host.xml" optional="true"/>
|
|
|
+ </host-default>
|
|
|
+ </host-deploy>
|
|
|
+
|
|
|
+ <!-- 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="/data/project/ROOT"/>
|
|
|
+ <stderr-log path='/data/wapage/log/resin/stderr.log' timestamp='[%Y-%m-%d %H:%M:%S] ' rollover-period='1D'/>
|
|
|
+ <stdout-log path='/data/wapage/log/resin/stdout.log' timestamp='[%Y-%m-%d %H:%M:%S] ' rollover-period='1D'/>
|
|
|
+
|
|
|
+ </host>
|
|
|
+
|
|
|
+ <resin:if test="${resin_doc}">
|
|
|
+ <host id="${resin_doc_host}" root-directory="${resin_doc_host}">
|
|
|
+ <web-app id="/resin-doc" root-directory="${resin.root}/doc/resin-doc"/>
|
|
|
+ </host>
|
|
|
+ </resin:if>
|
|
|
+ </cluster>
|
|
|
+
|
|
|
+ <cluster id="web">
|
|
|
+ <!-- define the servers in the cluster -->
|
|
|
+ <server-multi id-prefix="web-" address-list="${web_servers}" port="6810"/>
|
|
|
+
|
|
|
+ <host id="" root-directory="web">
|
|
|
+ <web-app id="">
|
|
|
+ <resin:LoadBalance regexp="" cluster="app"/>
|
|
|
+ </web-app>
|
|
|
+
|
|
|
+ <web-app id="/async">
|
|
|
+ <resin:LoadBalance regexp="" cluster="app"/>
|
|
|
+ </web-app>
|
|
|
+ </host>
|
|
|
+ </cluster>
|
|
|
+
|
|
|
+ <cluster id="memcached" xmlns:memcache="urn:java:com.caucho.memcached">
|
|
|
+ <!-- define the servers in the cluster -->
|
|
|
+ <server-multi id-prefix="memcached-" address-list="${memcached_servers}" port="6820">
|
|
|
+ <!-- listen for the memcache protocol -->
|
|
|
+ <listen port="${memcached_port?:11211}"
|
|
|
+ keepalive-timeout="600s" socket-timeout="600s">
|
|
|
+ <memcache:MemcachedProtocol/>
|
|
|
+ </listen>
|
|
|
+ </server-multi>
|
|
|
+ </cluster>
|
|
|
+
|
|
|
+
|
|
|
+ <cluster id="proxycache">
|
|
|
+ <!-- define the servers in the cluster -->
|
|
|
+ <server-multi id-prefix="proxycache-" address-list="${proxycache_servers}" port="6830"/>
|
|
|
+
|
|
|
+ <host id="" root-directory="proxycache">
|
|
|
+ <web-app id="">
|
|
|
+ <resin:HttpProxy regexp=".*">
|
|
|
+ <!-- backend HTTP servers to proxy to -->
|
|
|
+ <addresses>${backend_servers}</addresses>
|
|
|
+ </resin:HttpProxy>
|
|
|
+ </web-app>
|
|
|
+ </host>
|
|
|
+ </cluster>
|
|
|
+</resin>
|