您的位置:首页 > 其它

mod_jk相关配置文件详解

2016-06-28 11:53 337 查看
apache与tomcat结合来提供web服务已经是很成型的解决方案了。不过其中apache将请求分发给tomcat过程中的一些配置,还是有些不太明折的地方,今天百度了一下,整理出来,以供日后参考:
(在这里要感谢饮马闪客 http://www.yunwei8.com/jmwu/
 
mod_jk.conf指令解释:

#指定模块路径

LoadModule jk_module modules/mod_jk.so

#指定mod_jk的workers定义

JkWorkersFile conf/workers.properties

#加载workers的请求处理分配文件

JkMountFile conf/uriworkermap.properties

#指定jk的日志输出文件

JkLogFile logs/mod_jk.log

#指定日志级别,我这里设置的警告

JkLogLevel warn

#包含标准的mod_jk行为 (默认)

#info

#包含错误信息

#error

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

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

#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 设置个人用户请求的log格式.

JkRequestLogFormat "%w %V %T"

workers.properties指令解释:

# worker列表

worker.list=controller,status

#第一个server的配置,server名为ymsk1

#ajp13 端口号,在tomcat下server.xml配置,默认8009

worker.ymsk1.port=8109

#tomcat的主机地址,如不为本机,请填写ip地址

worker.ymsk1.host=192.168.1.101

worker.ymsk1.type=ajp13

#server的加权比重,值越高,分得的请求越多

worker.ymsk1.lbfactor=1

worker.ymsk1.cachesize=10

#第二个server的配置,server名为s2

worker.ymsk2.port=8209

worker.ymsk2.host=192.168.1.101

worker.ymsk2.type=ajp13

worker.ymsk2.lbfactor=1

worker.ymsk2.cachesize=10

#server名为controller,用于负载均衡

worker.controller.type=lb

#重试次数

worker.retries=3  

#指定分担请求的server列表,用逗号分隔

worker.controller.balanced_workers=ymsk1,ymsk2

#设置用于负载均衡的server的session可否共享

#一次请求中 session 只会在一个jboss上,当该jboss奔溃后,请求会跳转到其他jboss上,但是其session不会复制到跳转后的jboss上

#true=1 false=0

#worker.controller.sticky_session=1

#worker.controller.sticky_session_force=0

#每次请求都会跳转到其他jboss上

#如果有AB两个jboss负载均衡值都为1,第一次请求A session为A1,第二次请求跳转到B session B2,

#第三次又回到A session为 A1 和 A3,第四次跳转到B session 为 B2 和 B4

#worker.controller.sticky_session=0

#worker.controller.sticky_session_force=0

#一次请求中 session 只会在一个jboss上,当该jboss奔溃后,服务端会返回Service Temporarily Unavailable:The server is

#temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

#worker.controller.sticky_session=1

#worker.controller.sticky_session_force=1

#每次请求都会跳转到其他tomcat上

#如果有AB两个jboss负载均衡值都为1,第一次请求A session为A1,第二次请求跳转到B session B2,

#第三次又回到A session为A3,第四次跳转到B session  B4,即每次跳转都不会带上session,也不会保留原有的session

#worker.controller.sticky_session=0

#worker.controller.sticky_session_force=1

#我这里配置如下:

worker.controller.sticky_session=0

worker.controller.sticky_session_force=0

#描述是用于httpd自身状态监控的status

worker.status.type=status

uriworkermap.properties指令解释:

/*=controller            #所有请求都由controller这个server处理

/jkstatus=status         #所有包含jkstatus请求的都由status这个server处理

!/*.gif=controller       #所有以.gif结尾的请求都不由controller这个server处理,以下几个都是一样的意思

!/*.jpg=controller

!/*.png=controller

!/*.css=controller

!/*.js=controller

!/*.htm=controller

!/*.html=controller

#这里的"!”类似于java中的"!”,是“非”的意思。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: