7.2.1 Verwendung von „mod_jk“

Diese Konfiguration verwendet das Plug-In „mod_jk“ von Apache für den Lastenausgleich von JBoss-Cluster im AJP-Protokoll. Es unterstützt das Apache JServ Protocol (AJP).

Führen Sie folgende Schritte für die Konfiguration durch:

  1. Laden Sie von der Apache Tomcat Connector-Website die Plug-In-Datei „mod_jk“ für Ihr Betriebssystem herunter.
    Hinweis: Stellen Sie sicher, dass Ihr Apache-Server heruntergeladene Plug-In-Datei „mod_jk“ unterstützt.
  2. Benennen Sie die heruntergeladene Datei in „mod_jk.so“ um und speichern Sie sie im Ordner APACHE_HOME/modules/.

  3. Öffnen Sie in einem Texteditor die Datei „httpd.conf“ im Ordner „APACHE_HOME/conf“ und fügen Sie am Ende der Datei die folgende Zeile hinzu: Include conf/mod-jk.conf

  4. Erstellen Sie eine neue Datei APACHE_HOME/conf/mod-jk.conf mit folgendem Inhalt:

    # Load mod_jk module 
    # Specify the filename of the mod_jk lib 
    LoadModule jk_module modules/mod_jk.so 
    # 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 
    # Select the log format 
    JkLogStampFormat "[%a %b %d %H:%M:%S %Y]" 
    # JkOptions indicates to send SSK KEY SIZE 
    JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories 
    # JkRequestLogFormat 
    JkRequestLogFormat "%w %V %T" 
    # Mount your applications 
    JkMount /* loadbalancer 
    # You can use external file for mount points. 
    # It will be checked for updates each 60 seconds. 
    # The format of the file is: /url=worker 
    # /examples/*=loadbalancer 
    #JkMountFile conf/uriworkermap.properties 
    # Add shared memory. 
    # This directive is present with 1.2.10 and 
    # later versions of mod_jk, and is needed 
    # for load balancing to work properly 
    JkShmFile logs/jk.shm 
    # Add jkstatus for managing run-time data 
    <Location /jkstatus/> 
    JkMount status 
    Order deny,allow 
    Deny from all 
    Allow from 127.0.0.1 
    </Location>
  5. Erstellen Sie eine Datei unter „conf/workers.properties“ mit folgendem Inhalt.
    # for mapping requests 
    worker.list=loadbalancer,status 
    # Define Node1 
    # modify the host as your host IP or DNS name. 
    worker.node1.port=8009 
    worker.node1.host=node1.mydomain.com 
    worker.node1.type=ajp13 
    worker.node1.lbfactor=1 
    worker.node1.cachesize=10 
    # Define Node2 
    # modify the host as your host IP or DNS name. 
    worker.node2.port=8009 
    worker.node2.host= node2.mydomain.com 
    worker.node2.type=ajp13 
    worker.node2.lbfactor=1 
    worker.node2.cachesize=10 
    # Load-balancing behavior 
    worker.loadbalancer.type=lb 
    worker.loadbalancer.balance_workers=node1,node2 
    worker.loadbalancer.sticky_session=1 
    #worker.list=loadbalancer 
    # Status worker for managing load balancer 
    worker.status.type=status
  6. Definieren Sie in der Datei die folgenden Elemente:
    • Alle Knoten des Clusters (in diesem Beispiel die beiden Knoten „node1“ und „node2“)

    • Fügen Sie alle Knoten, die in der Datei definiert wurden, dem Eintrag worker.loadbalancer.balance_workers hinzu.

  7. Öffnen Sie für jeden Knoten im Cluster die Datei „server.xml“, die sich für die Bearbeitung unter [Anwendungsserver-Stammordner]/server/all/deploy/jbossweb.sar befindet.

  8. Durchsuchen Sie die Datei „server.xml“ nach dem Element Engine name und fügen Sie ein Attribut jvmRoute hinzu. Beispiel: Auf einem Knoten mit dem Namen „Knoten1“:<Engine name="jboss.web" defaultHost="localhost" jvmRoute="node1">

  9. Speichern Sie die bearbeitete Datei „server.xml“.
    Hinweis: Für jeden Clusterknoten muss der Wert „jvmRoute“ eindeutig sein und mit dem Wert des Workers, der mit dem entsprechenden JBoss verknüpft ist, übereinstimmen.