ePages 6.17+ ServerConfig.xml 6.17.41
Created: 6.17.41; Updated: 6.17.41

ServerConfig.xml is used to setup Request Router, ASPoolDB Cache Server and Application Server addresses. This file is part of the new WebInterface architecture introduced with ePages 6.17.5 and replaces some parts of ASPoolDB and WebInterface.conf.

Table of Contents

1 File Structure

1.1 <config>

Root element of the configuration file

1.2 <config>/<requestrouters>

Declares a list of Request Routers/Monitors/MessageCenters that can later be assigned to one or more pools.

Attributes:

max_cache_items="integer value"
Example:

  <requestrouters max_cache_items="2000">
  [...]
  </requestrouters>

1.3 <config>/<requestrouters>/<requestrouter>

Declares a single Request Router. Can be repeated as needed.

Attributes:

name="name"
The name of this Request Router. Used later to assign this instance to a pool. Required.
host="hostname"
The hostname or IP address of the network interface this Request Router instance should be started on. Required.
port="port number"
The UDP port number this Request Router will listen on. Optional. If not set, no Request Router will be started on this instance.
monitor_port="port number"
The TCP port number the Monitor will listen on. Optional. If not set, no Monitor will be started on this instance.
mc_port="port number"
The TCP port number the Message Center will listen on. Optional. If not set, no Message Center will be started on this instance.
bind="yes/no"
If set to yes, accept connections only on the network interface stated in the host attribute (default). If set to no, listen to all interfaces. Optional. Enabled by default.
Example:

  <requestrouter name="DefaultRequestRouter" host="localhost" port="10043" monitor_port="10041" mc_port="10042" bind="no" />

Note: For a valid and working configuration, at least one of the port, monitor_port and mc_port values must be set.

1.4 <config>/<cacheservers>

Declares a list of ASPoolDB Cache Servers that will be started in the network. At least one cache server is required.

1.5 <config>/<cacheservers>/<cacheserver>

Declares a single ASPoolDB Cache Server instance. Can be repeated as needed.

Attributes:

host="hostname"
The hostname or IP address of the network interface this server instance should be started on. Required.
port="port number"
The UDP port number the cache server will listen on. Required.
bind="yes/no"
If set to yes, accept connections only on the network interface stated in the host attribute (default). If set to no, listen to all interfaces. Optional. Enabled by default.
Example:

  <cacheserver host="localhost" port="17277" />

1.6 <config>/<pools>

Declares a list of pools.

1.7 <config>/<pools>/<pool>

Declares a single pool for Application Servers and Request Router(s). Can be repeated as needed.

Attributes:

name="PoolName"
Assign a name to this pool
Example:

  <pool name="DefaultPool">
  [...]
  </pool>

1.8 <config>/<pools>/<pool>/<requestrouters>

Declares a list of Request Routers to be assigned to this pool. The first child element will be the primary Request Router for this pool. Subsequent elements will be secondary routers for this pool.

1.9 <config>/<pools>/<pool>/<requestrouters>/<requestrouter>

A single Request Router assignment. Use this element to assign one of the Request Routers declared in <config>/<requestrouters> to this pool.

Example:

  <requestrouter>DefaultRequestRouter</requestrouter>

1.10 <pools>/<pool>/<appservers>

Declares a list of Application Servers to be assigned to this pool.

Note: If a pool has Application Servers, it also needs a Request Router to work properly.

1.11 <pools>/<pool>/<appservers>/<appserver>

A group of Application Servers assigned to this pool. Can be repeated as needed.

Attributes:

host="hostname"
The hostname or IP address of the network interface this server instance should be started on. Required.
ports="port list"
A list of TCP port numbers. For each port number a server instance will be started, listening on the respective port. Required.
bind="yes/no"
If set to yes, accept connections only on the network interface stated in the host attribute (default). If set to no, listen to all interfaces. Optional. Enabled by default.
priority="integer value"
Priority of this Application Server. Higher value means higher priority in the pool.
maxmemory="integer value"
Maximum memory size of one application server in MB. When the application server is using more than this much RAM it terminates itself after the next request. Overrides the global MAXMEMORY option in WebInterface.conf
Example:

  <appserver host="localhost" ports="10045-10048" maxmemory="200" />

Note: The ports attribute is a list of integer values and can be written as a list of ranges. "10045-10048" is equivalent to "10045,10046,10047,10048".
For example, "10045-10048,10050-10082,10090" would a valid port list as well.

1.12 <pools>/<pool>/<limits>

Declares quotas and limits for this pool.

Attributes:

servers_per_site="integer value"
Maximum number of Application Servers that can be simultaneously occupied by a single site
servers_per_client="integer value"
Maximum number of Application Servers that can be simultaneously occupied by a single client
Example:

  <limits servers_per_site="10" servers_per_client="10">
  [...]
  </limits>

1.13 <pools>/<pool>/<limits>/<servers_per_extension>

Limits the number of servers that can be occupied by requests for URIs with a specified file extension.

Attributes:

extension=".ext"
Specifies the URI extension that should be limited
Example:

  <servers_per_extension extension=".sf">10</servers_per_extension>

2 Configuration example

  <config>
    <requestrouters max_cache_items="2000">
      <requestrouter name="DefaultRequestRouter" host="localhost" port="10043" monitor_port="10041" mc_port="10042" />
      <requestrouter name="FallbackRequestRouter" host="localhost" port="10063" monitor_port="10061" mc_port="10062" />
    </requestrouters>
    <pools>
      <pool name="DefaultPool">
        <requestrouters>
          <requestrouter>DefaultRequestRouter</requestrouter>
          <requestrouter>FallbackRequestRouter</requestrouter>
        </requestrouters>
        <appservers>
          <appserver host="localhost" ports="10045-10046" bind="true" maxmemory="200" />
          <appserver host="localhost" ports="10047-10048" bind="false" priority="1" maxmemory="300" />
        </appservers>
        <limits servers_per_site="10" servers_per_client="10">
          <servers_per_extension extension=".sf">1</servers_per_extension>
          <servers_per_extension extension=".admin">1</servers_per_extension>
        </limits>
      </pool>
    </pools>
    <cacheservers>
      <server host="localhost" port="17277" />
    </cacheserver>
  </config>


Copyright ePages GmbH 2016