0 Replies Latest reply on Dec 16, 2003 8:15 AM by jimmo

    handholding: multiple app servers

    jimmo Newbie

      Hi All!

      I got tossed a project by my boss and he basically said sink or swim. The construct is two web servers running Apache 1.27 on Solaris with OpenSSL 0.9.7c and mod_jk, then we have two app servers with Jboss 3.2.2. W have a load balacing FW which will send the requests to a single web server per session and then the web servers will connect to the app servers using the load balancing as defined in the worker.properties file. (I hope)

      I looked through the forums for answers to this questions, but the answers I found raised even more questions and caused a great deal of confusion.

      Our developers (I'm sysadmin) have things running on a single machine with both the web and app servers. However, they say it is "supposed" to work as 2x2 (like above). They don't know how, so we system admins are supposed to get it to work in the live environment. (That is, I am supposed to get it to work).

      I have include the relevant section from the httpd.conf and the entire workers.properties file. I am pretty sure that the httpd.conf is correct and I am also sure that the workers.properties is **not**correct.

      First we have:

      workers.tomcat_home=C:/tomcat

      Since this is a Solaris, the path cannot be correct. However, I am not sure what to set it to. I was told that JBoss already contains Tomcat, so I do not need it installed on the Apache server. So, do I even need to set tomcat_home? What about the values at the end of the file. (i.e. worker.inprocess.stdout) What about the JAVA_HOME. I am assumming /usr/java, where all of the Solaris Java stuff is, but is that correct in this case?

      My initial assumption is to have something like this:

      worker.list=worker1,worker2

      I then set the values for worker1 and worker2 to values for the specific app server.

      I found one forum post that had this:

      worker.list=loadbalancer
      # Now we define the load-balancing behavior
      worker.loadbalancer.type=lb
      worker.loadbalancer.balanced_workers=srv1,srv2
      worker.loadbalancer.sticky_session=1
      worker.loadbalancer.local_worker_only=0

      Then I define the individual workers similar to the way I have it listed below. I am making a lot of assumptions here, based a lot on suggested configurations I have found in the forums and the existing configuration we have. I looked for some doc describing each of the parameters, but I didn't find anything (anyone got a link for me?) I would be **extremely** greatful for a little hand holding at this point.

      Regards,

      Jim Mohr

      ==============
      httpd.conf:
      JkWorkersFile /usr/local/apache/conf/jk/workers.properties
      JkLogFile /usr/local/apache/logs/mod_jk.log
      JkLogLevel info
      # JkOptions indicate to send SSL KEY SIZE,
      JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
      # JkRequestLogFormat set the request format
      JkRequestLogFormat "%w %V %T"
      JkMount /paylikecash/*.jsp worker1
      JkMount /paylikecash/* worker1

      ==============
      workers.properties:
      workers.tomcat_home=C:/tomcat
      workers.java_home=$(JAVA_HOME)
      ps=\

      worker.list=worker1
      worker.worker1.port=8009
      worker.worker1.host=localhost
      worker.worker1.type=ajp13
      worker.worker1.lbfactor=1

      worker.loadbalancer.type=lb
      worker.loadbalancer.balanced_workers=ajp13
      worker.inprocess.type=jni
      worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)tomcat.jar
      worker.inprocess.cmd_line=start
      worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)jvm.dll
      worker.inprocess.stdout=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stdout
      worker.inprocess.stderr=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stderr