Sun GlassFish Enterprise Server v2.1.1 Release Notes

Web Stack Support

You can use Enterprise Server with Sun GlassFish Web Stack, which pre-integrates and bundles components such as Apache HTTP Server, PHP, Ruby, and more. For more information about Sun GlassFish Web Stack, see the Sun GlassFish Web Stack Documentation wiki.

Enterprise Server provides support for load balancing by using the load balancer plug-in front-ended by Sun Java System Web Server, Apache Web Server and Microsoft IIS. Another technique for front-ending Enterprise Server is to use Apache httpd with the mod_jk connector.

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.