Sun GlassFish Enterprise Server v2.1.1 Release Notes

ProcedureFront-ending Enterprise Server with Apache httpd and mod_jk

  1. Create an Enterprise Server cluster.

  2. Define the following JVM options as follows:

    • asadmin create-jvm-options --target cluster_name "-DjvmRoute=\${AJP_INSTANCE_NAME}"

    • asadmin create-jvm-options --target cluster_name "-Dcom.sun.enterprise.web.connector.enableJK=\${AJP_PORT}"

  3. Configure the JVM options, AJP_PORT and AJP_INSTANCE_NAME, for each instance in the cluster with the following command:

    asadmin create-system-properties --target instance_name AJP_INSTANCE_NAME=instance_name

    asadmin create-system-properties --target instance_name AJP_PORT=port-number

  4. Restart the cluster

  5. Install Apache httpd.

    Apache httpd is available from http://httpd.apache.org/download.cgi

  6. Install mod_jk.

    The mod_jk connector is available from http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/

  7. Add the following lines to the mof_jk.so file:

    LoadModule jk_module path_to_mod_jk.so
    JkWorkersFile /etc/apache2/worker.properties
    # Where to put jk logs
    JkLogFile /var/log/httpd/mod_jk.log
    # Set the jk log level [debug/error/info]
    JkLogLevel debug
    # Select the log format
    JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
    # JkRequestLogFormat set the request format
    JkRequestLogFormat "%w %V %T"
    # Send all jsp requests to GlassFish
    JkMount /*.jsp loadbalancer.
  8. Create a new file named /etc/apache2/worker.properties and add the following lines:

    # Define 1 real worker using ajp13
    worker.list=loadbalancer
    # Set properties for instance1
    worker.instance1.type=ajp13
    worker.instance1.host=localhost
    worker.instance1.port=9090
    worker.instance1.lbfactor=50
    worker.instance1.cachesize=10
    worker.instance1.cache_timeout=600
    worker.instance1.socket_keepalive=1
    worker.instance1.socket_timeout=300
    # Set properties for instance2
    worker.instance2.type=ajp13
    worker.instance2.host=localhost
    worker.instance2.port=9091
    worker.instance2.lbfactor=50
    worker.instance2.cachesize=10
    worker.instance2.cache_timeout=600
    worker.instance2.socket_keepalive=1
    worker.instance2.socket_timeout=300
    # Set properties for instance3
    worker.instance3.type=ajp13
    worker.instance3.host=localhost
    worker.instance3.port=9092
    worker.instance3.lbfactor=50
    worker.instance3.cachesize=10
    worker.instance3.cache_timeout=600
    worker.instance3.socket_keepalive=1
    worker.instance3.socket_timeout=300
    
    worker.loadbalancer.type=lb
    worker.loadbalancer.balance_workers=instance1,instance2,instance3
  9. Copy the tomcat-ajp.jar file from the Apache 5.5.x installation to the Enterprise Server lib directory.

  10. Copy the commons-logging.jar (version 1.1.1) and the commons-modeler.jar (version 2.0.1) file from the Jakarta Commons web site at http://commons.apache.org.

  11. Restart the cluster and start httpd.