这篇是上一篇的补充材料。
注:为便于在这里显示,我把文件中的“[”和“]”都替换为“{”和“}”了。
{logger}
level=DEBUG
{config:}
#file=${serverRoot}/conf/workers2.properties
#这里就是这个配置文件的路径
file=D:/Apache/Apache2/conf/workers2.properties
debug=0
debugEnv=0
#在这里定义环境变量,即便外部环境变量没有定义也无关系
JAVA_HOME=D:j2se
TOMCAT_HOME=D: omcat
{uriMap:}
info=Maps the requests. Options: debug
debug=0
# Alternate file logger
#{logger.file:0}
#level=DEBUG
#file=${serverRoot}/logs/jk2.log
{shm:}
info=Scoreboard. Required for reconfiguration and status with multiprocess servers
#注:这里的${serverRoot}就是apache的安装路径
file=${serverRoot}/logs/jk2.shm
size=1000000
debug=0
disabled=0
{workerEnv:}
info=Global server options
timing=1
debug=0
# Default Native Logger (apache2 or win32 )
# can be overriden to a file logger, useful
# when tracing win32 related issues
#logger=logger.file:0
{lb:lb}
info=Default load balancer.
debug=0
#{lb:lb_1}
#info=A second load balancer.
#debug=0
{channel.socket:localhost:8009}
info=Ajp13 forwarding over socket
debug=0
tomcatId=localhost:8009
#{channel.socket:localhost:8019}
#info=A second tomcat instance.
#debug=0
#tomcatId=localhost:8019
#lb_factor=1
#group=lb
#group=lb_1
#disabled=0
#{channel.un:/opt/33/work/jk2.socket}
#info=A second channel connecting to localhost:8019 via unix socket
#tomcatId=localhost:8019
#lb_factor=1
#debug=0
{channel.jni:jni}
info=The jni channel, used if tomcat is started inprocess
{status:}
info=Status worker, displays runtime informations
{vm:}
info=Parameters used to load a JVM in the server process
#注意:下面这一段是关键,主要的是classpath,将影响tomcatstarter类的查找
JVM=$(JAVA_HOME)/jre/bin/server/jvm.dll
classpath=${TOMCAT_HOME}/bin/bootstrap.jar
classpath=${TOMCAT_HOME}/bin/commons-logging-api.jar
classpath=${TOMCAT_HOME}/bin/commons-daemon.jar
classpath=${TOMCAT_HOME}/server/lib/tomcat-jni.jar
classpath=${TOMCAT_HOME}/server/lib/commons-modeler.jar
classpath=${TOMCAT_HOME}/server/lib/tomcat-util.jar
classpath=${TOMCAT_HOME}/server/lib/commons-digester.jar
classpath=${TOMCAT_HOME}/server/lib/commons-beanutils.jar
classpath=${TOMCAT_HOME}/server/lib/catalina-ant.jar
classpath=${TOMCAT_HOME}/server/lib/catalina-optional.jar
classpath=${TOMCAT_HOME}/server/lib/commons-fileupload-1.0.jar
classpath=${TOMCAT_HOME}/server/lib/jakarta-regexp-1.3.jar
classpath=${TOMCAT_HOME}/server/lib/tomcat-jk.jar
classpath=${TOMCAT_HOME}/server/lib/tomcat-http11.jar
classpath=${TOMCAT_HOME}/server/lib/servlets-invoker.jar
classpath=${TOMCAT_HOME}/server/lib/servlets-common.jar
classpath=${TOMCAT_HOME}/server/lib/catalina.jar
classpath=${TOMCAT_HOME}/server/lib/jkshm.jar
classpath=${TOMCAT_HOME}/server/lib/jkconfig.jar
classpath=${TOMCAT_HOME}/server/lib/catalina-i18n-ja.jar
classpath=${TOMCAT_HOME}/server/lib/servlets-webdav.jar
classpath=${TOMCAT_HOME}/server/lib/tomcat-coyote.jar
classpath=${TOMCAT_HOME}/server/lib/tomcat-jk2.jar
classpath=${TOMCAT_HOME}/server/lib/servlets-default.jar
classpath=${TOMCAT_HOME}/server/lib/catalina-cluster.jar
classpath=${TOMCAT_HOME}/common/lib/jmx.jar
classpath=${TOMCAT_HOME}/common/lib/jasper-compiler.jar
classpath=${TOMCAT_HOME}/common/lib/jmx-remote-tools.jar
classpath=${TOMCAT_HOME}/common/lib/commons-dbcp-1.1.jar
classpath=${TOMCAT_HOME}/common/lib/commons-el.jar
classpath=${TOMCAT_HOME}/common/lib/commons-collections.jar
classpath=${TOMCAT_HOME}/common/lib/naming-java.jar
classpath=${TOMCAT_HOME}/common/lib/commons-pool-1.1.jar
classpath=${TOMCAT_HOME}/common/lib/jmx-remote.jar
classpath=${TOMCAT_HOME}/common/lib/jasper-runtime.jar
classpath=${TOMCAT_HOME}/common/lib/naming-factory.jar
classpath=${TOMCAT_HOME}/common/lib/servlet-api.jar
classpath=${TOMCAT_HOME}/common/lib/naming-resources.jar
classpath=${TOMCAT_HOME}/common/lib/ant.jar
classpath=${TOMCAT_HOME}/common/lib/naming-common.jar
classpath=${TOMCAT_HOME}/common/lib/jsp-api.jar
classpath=${JAVA_HOME}/lib/tools.jar
OPT=-Djava.class.path=D:/tomcat/bin/tomcat-jni.jar;D:/tomcat/server/lib/commons-logging.jar
OPT=-Dtomcat.home=${TOMCAT_HOME}
OPT=-Dcatalina.home=${TOMCAT_HOME}
OPT=-Xmx128M
#OPT=-Djava.compiler=NONE
disabled=0
{worker.jni:onStartup}
info=Command to be executed by the VM on startup. This one will start tomcat.
#jk2就是通过这个类来启动tomcat的,上面的classpath如果没有设置正确,jk2将在logfile中记录NoClassDefFound异常。
class=org/apache/jk/apr/TomcatStarter
ARG=startd
disabled=0
stdout=D:/Apache/Apache2/logs/stdout.log
stderr=D:/Apache/Apache2/logs/stderr.log
{worker.jni:onShutdown}
info=Command to be executed by the VM on shutdown. This one will stop tomcat.
class=org/apache/jk/apr/TomcatStarter
#这里是关闭tomcat服务,同样通过上面的类进行
ARG=stopd
disabled=0
{uri:/jkstatus/*}
info=Display status information and checks the config file for changes.
group=status:
#{uri:127.0.0.1:8003}
#info=Example virtual host. Make sure myVirtualHost is in /etc/hosts to test it
#alias=myVirtualHost:8003
#{uri:127.0.0.1:8003/ex}
#info=Example webapp in the virtual host. It'll go to lb_1 ( i.e. localhost:8019 )
#context=/ex
#group=lb_1
{uri:/examples}
info=Example webapp in the default context.
context=/examples
debug=0
#{uri:/examples1/*}
#info=A second webapp, this time going to the second tomcat only.
#group=lb_1
#debug=0
{uri:/examples/servlets/*}
info=Prefix mapping
{uri:/examples/*.jsp}
info=Extension mapping
{uri:/examples/*}
info=Map the whole webapp
{uri:/examples/servlets/HelloW}
info=Exampel with debug enabled.
debug=10