Child pages
  • Apache HTTP Server Configuration

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Once the Apache HTTP Server

...

is installed, it can be configured to operate as Load Balancer.

  • Apply any standard configuration that you want/need (ServerName, ServerAdmin, ...) if any is needed to make HTTP server operational.

...

  • Copy

...

  • mod_jk-1.2.28-httpd-2.2.3.so

...

  • to <ApacheHTTPServerDir>/modules{_}

...

  • and

...

  • rename

...

  • it

...

  • to

...

  • mod_jk.so

...

  • .

...

  • The name

...

  • might

...

  • be

...

  • slightly

...

  • different

...

  • depending

...

  • on

...

  • OS

...

  • , see

...

  • instructions

...

  • on

...

...

...

  • Add the lines below into <ApacheHTTPServerDir>/conf/httpd.conf

...

  • after

...

  • all

...

  • other

...

  • LoadModule

...

  • lines:
    Code Block
    LoadModule jk_module modules/mod_jk.so
    # JK/Worker configuration
    
        # Where to find workers.properties
        JkWorkersFile conf/workers.properties
        # Where to put jk logs
        JkLogFile logs/mod_jk.log
        # Set the jk log level [debug/error/info]
        JkLogLevel    info
        JkMount /* loadbalancer
    
        # In case you want to be able to monitor JK status
        # <Location /jkmanager/>
        #    JkMount jkstatus
        #    Order deny,allow
        #    Deny from all
        #    Allow from 127.0.0.1
        # </Location>
    

...

  • For more info on available options, see http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html
  • Copy worker.properties file from <servoy>/application_server/terracotta directory to < ApacheHTTPServerDir >/conf. Teh default worker.properties file contains the configuration to load balance two Servoy application Servers, running on 2 different machines, both using port 8009.
  • Open the copied worker.properties and change the "worker.servoyX.host" entries to the correct hostnames of the Servoy Application Servers. It is recommended to use port 8009 as well for all workers (default). If more or less than two Servoy Application Servers need to be load-balanced, add/remove worker.servoyX sections and update worker.list and worker.loadbalancer.balance_workers

...

  • lines.

...

  • For

...

  • more

...

  • information

...

  • on

...

  • how

...

  • to

...

  • tune

...

  • workers,

...

  • see

...

...

  • .

...

Wiki Markup
You have a possibility to monitor and control worker activity by uncommenting the "jkstatus" related comments in *worker.properties* and *httpd.conf* and accessing "_\[randd:yourServerUrl\]/jkmanager/_". This page will also allow you to activate/disable workers. You should add a worker for each Servoy Application Server that you will possibly start in your cluster, even if you do not plan to have them started all at once. There is no problem if only a part of those Servoy Application Servers are started. Load-balancing will work on servers defined in the *worker.properties* file that are also available. If you do define workers for Servoy Application Servers that are not started, disable them from the jkmanager page in order to avoid delays caused by load-balancer trying to check the availability of these workers.

3.2 Configure each Servoy Tomcat Server in the cluster to work with the AJP 1.3 connector

This will describe how to set up the two Tomcat Servers in your Servoy installations as used by original worker.properties file above. You can adapt it when using more Servoy installations.

  • Assume Servoy is installed twice, once on "servoyServer1Host" and once on "servoyServer2Host".
  • Wiki Markup
    In \[randd:servoy_install_folder\]/application_server/server/conf/server.xml:
    • Change line "<Engine name="Catalina" defaultHost="localhost">" into "<Engine jvmRoute="servoy1" name="Catalina" defaultHost="localhost">"; for second server use "servoy2".
    • Add the following connector before the already declared one in both installations:
      Code Block
      <Connector port="8009"
                 enableLookups="false" maxThreads="500" connectionTimeout="60000"
                 redirectPort="8443" useBodyEncodingForURI="true" protocol="AJP/1.3"/>
      

...

It's possibility to monitor and control worker activity by uncommenting the "jkstatus" related comments in worker.properties and httpd.conf and accessing <loadBalancerUrl>/jkmanager/. This page will also allows to activate/disable workers. A worker should be added for each Servoy Application Server that will possibly be started in the cluster, even when not planning to have them started all at once. There is no problem if only a part of those Servoy Application Servers are started. Load-balancing will work on servers defined in the worker.properties file that are also available. If workers are defined for Servoy Application Servers that are not started, disable them from the jkmanager page in order to avoid delays caused by load-balancer trying to check the availability of these workers.