×
新网 > 虚机资讯 > 正文

关于jk的一些命令

定义workers  JkWorkersFile 指定mod_jk的workers定义.  JkWorkersFile /etc/httpd/conf/workers.properties  Logging  JkLogFile指定mod_jk放log文件的位置.  JkLogFile /var/log/httpd/mod_jk.log  JkLogLevel 可以设置以下log级别 : 

定义workers
JkWorkersFile 指定mod_jk的workers定义.

JkWorkersFile /etc/httpd/conf/workers.properties

Logging
JkLogFile指定mod_jk放log文件的位置.
timg (16).jpg
JkLogFile /var/log/httpd/mod_jk.log

JkLogLevel 可以设置以下log级别 :

info 包含标准的mod_jk行为 (默认).
error 包含错误信息.
debug mod_jk行为的全部信息
JkLogLevel info

JkLogStampFormat 用来配置log文件的日期/时间格式. 使用strftime()的格式化字符串,默认是[%a %b %d %H:%M:%S %Y]

JkLogStampFormat [%a %b %d %H:%M:%S %Y]

JkRequestLogFormat 设置个人用户请求的log格式.

Options Description
%b 发送的字节, 不包括 HTTP headers (CLF format)
%B 发送的字节, 不包括 HTTP headers
%H 协议
%m 请求方式(get/post)
%p 服务器响应请求的规范端口.
%q 查询字符串 (如果存在以?开头,否则是空串)
%r 请求的第一行.
%s HTTP状态码
%T 请求间隔, 处理请求耗费的时间 秒.微秒
%U 请求的url路径,不包含查询字符串.
%v 响应请求的规范服务器名字
%V 根据UseCanonicalName设置的服务器名字.
%w Tomcat worker 名字

JkRequestLogFormat %w %V %T

转发
JkOptions 允许你设置一些转发设置 允许或者不允许以下设置.

JkOptions ForwardKeySize, you ask mod_jk, when using ajp13, to forward also the SSL Key Size as required by Servlet API 2.3. This flag shouldn’t be set when servlet engine is Tomcat 3.2.x (on by default). .
JkOptions ForwardKeySize,要求mod_jk当使用ajp13的时候.因为Servlet API 2.3的需要,一起提交SSL Key Size.这个状态在servlet引擎3.2.x里不能设置(默认是打开的).
JkOptions +ForwardKeySize

JkOptions ForwardURICompat, you told mod_jk to send the URI to Tomcat normally, which is less spec compliant but mod_rewrite compatible, use it for compatibility with Tomcat 3.2.x engines (on by default).
JkOptions ForwardURICompat,要求mod_jk正常发送uri给tomcat,不符合规范,但是mod_rewrite兼容.使用它为Tomcat 3.2.x引擎的兼容性.(默认是打开的)
JkOptions +ForwardURICompat

JkOptions ForwardURICompatUnparsed, the forwarded URI is unparsed, it’s spec compliant but broke mod_rewrite.
JkOptions ForwardURICompatUnparsed,提交的uri是未解析的,兼容规范,但是中断了mod_rewrite.
JkOptions +ForwardURICompatUnparsed

JkOptions ForwardURIEscaped, 提交的url逃逸了,tomcat自己做解码.

JkOptions +ForwardURIEscaped

JkOptions ForwardDirectories 被用来与apache的DirectoryIndex命令配合. As such mod_dir should be available to Apache, statically or dynamically (DSO)

配置了DirectoryIndex的时候,Aapache将为每个在命令中指定的本地url建立子请求,来决定是否有匹配的本地文件.
如果ForwardDirectories设置为false(默认) 并且Apache没找到任何匹配的文件,Apache将提供文件夹的内容(如果这个文件夹的Options命令指定了Indexes)或者一个403 Forbidden(如果这个文件夹的Options命令没指定Indexes)
如果ForwarDirectories设置为true并且Apache没找到任何匹配的文件,请求将提交tomcat解决,这个被用在万一apache在几种情况下在本地文件系统上不能找到index文件:tomcat和apache不在一台机器上,jsp文件已经被预编译等等.
注意,本地可见的文件将优先于只能tomcat可见的文件.(使用,如果apache能看到文件,那么就是将被来提供的那个).这个很重要,如果多于一种文件被tomcat提供,例如Velocity pages 和 JSP pages.
JkOptions +ForwardDirectories

JkEnvVar 使用允许你从apache向tomcat提交一个环境变量.

JkEnvVar SSL_CLIENT_V_START

给tomcat指派url
如果你已经像上面记录的建立了一个定义的或者本地版本的mod_jk.conf-local.你可以改变像workers或者URL前缀的设置.
JkMount使用指派指定的url给Tomcat. 通常一个JkMount命令像这样:

JkMount [URL 前缀] [Worker name]
# 发送所有以.jsp结尾的请求给worker1
JkMount /*.jsp worker1
# 发送所有以/servlet结尾的请求给worker1
JkMount /*/servlet/ worker1
# 发送所有在/otherworker下的jsp请求给worker2
JkMount /otherworker/*.jsp worker2

可以在你的httpd.conf文件顶级或者段中使用JkMount命令.
配置apache提供静态web应用程序文件.
如果 Tomcat Host appBase (webapps) 文件夹apache可以访问,Apache可以被配置为提供web应用程序上下文文件夹的静态文件而不是转送给tomcat.
注意:如果Apache 被配置为为一个web应用程序提供静态页面.它将绕过任何你在web.xml中配置的安全约束.
Use Apache’s Alias directive to map a single web application context directory into Apache’s document space for a VirtualHost:
使用Apache的Alias使用来映射一个单web应用程序上下文文件夹到Apache的虚拟主机文档空间
# examples web应用程序的静态内容,apache来提供.
Alias /examples /vat/tomcat3/webapps/examples
# 下面一行禁止用户直接访问 WEB-INF

AllowOverride None
deny from all

# 所有的jsp请求给worker1
JkMount /*.jsp worker1
# 所有的servlets请求给worker1
JkMount /*/servlet/ worker1

Starting with mod_jk 1.2.6, and under Apache 2.0, it’s possible to exclude some URL/URI from jk processing by setting the env var no-jk, for example with the SetEnvIf Directive.
开始在apache2.0下使用mod_jk1.2.6,可以通过设置no-jk环境变量,把一些url/uri排除在jk处理以外,比如用SetEnvIf语句.
你可以使用no-jk 环境变量解决当jk和alias/userdir URL匹配时,mod_alias或mod_userdir存在的问题.

# 除了 /home所有的url转向tomcat.

ServerName testxxx.mysys
DocumentRoot /www/testxxx/htdocs

# 使用 SetEnvIf 来设置 当遇到/home/时 no-jk.
SetEnvIf Request_URI /home/* no-jk

# 现在 /home 将变成 /home/dataxxx/
Alias /home /home/dataxxx/

Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all

JkMount /* myssys-xxx

JkAutoAlias命令映射应用程序上下文文件夹在apache的文档空间.

试着访问在一个tomcat Host appBase(webapps)中的web应用程序上下文或者Web档案 *.war WEB-INF 或 META-INF 目录 将返回一个HTTP 403, Access Forbidden 失败.

# 静态内容由apache提供服务.
JkAutoAlias /var/tomcat3/webapps
JkMount /*.jsp ajp13
JkMount /*/servlet/ ajp13

 

  • 相关专题

免责声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,也不承认相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,请发送邮件至:operations@xinnet.com进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

免费咨询获取折扣

Loading