n
Apache httpd+Tomcat6+tk
n
安装
1
)
jdk
(
1.5
及以上版本)安装,记得将
bin
目录加到环境变量
path
中。
2
)
Apache
安装。
Linux
下安装时,如果下载的是源码,则需要编
译再安装:
./configure->make->make install
。
(http://apache.freelamp.com/httpd/httpd-2.2.15.tar.gz)
4
)
tk
安装。下载
tk
,将
tk
放到
Apache httpd
的
modules
目录中即
可。
(http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/linux/jk-)
1.2.28/i586/mod_jk-1.2.28-httpd-2.2.X.so
n
配置
1
)
Apache
配置
A
、在
Apache
的
conf
目录下的
httpd.conf
文件尾追加以下内容(见备注):
B
、在
conf
目录下新增文件
workers.properties
,内容见备注。
C
、在
conf
目录下新增文件
uriworkermap.properties
,内容如下见备注。
2
)
Tomcat
配置
修改每个
Tomcat
的
server.xml
。
A
、给
<Engine name=
“
Catalina
”
defaultHost=
“
localhost
”
>
节点增加属性
jvmRoute
,其属性值为
workers.properties
文件中配置的
server
列表名,如
server2
B
、将
port=
“
8009
”
的属性值
8009
修改为
workers.properties
文件中同一
server
对
应的端口号,如
9009
1、httpd.conf文件尾追加以下内容:
### 加载 mod_jk 模块,so的具体名字需根据实际修改
LoadModule jk_module modules/mod_jk-***.so
### 配置 mod_jk
JkWorkersFile conf/workers.properties #加载集群中的 workers
JkMountFile conf/uriworkermap.properties #加载workers的请求处理分配文件
JkLogFile logs/mod_jk.log #指定jk的日志输出文件
JkLogLevel warn #指定日志级别
LoadModule jk_module modules/mod_jk-***.so
### 配置 mod_jk
JkWorkersFile conf/workers.properties #加载集群中的 workers
JkMountFile conf/uriworkermap.properties #加载workers的请求处理分配文件
JkLogFile logs/mod_jk.log #指定jk的日志输出文件
JkLogLevel warn #指定日志级别
2、 workers.properties文件内容:
# worker列表
worker.list=controller, status
#第一个server的配置,server名为server1
#ajp13 端口号,在tomcat下server.xml配置,默认8009
worker.server1.port=8009
#tomcat的主机地址,如不为本机,请填写ip地址
worker.server1.host=192.168.19.182
worker.server1.type=ajp13
#server的加权比重,值越高,分得的请求越多
worker.server1.lbfactor=1
#第二个server的配置,server名为server2
worker.server2.port=9009
worker.server2.host=192.168.18.152
worker.server2.type=ajp13
worker.server2.lbfactor=1
#第三个server的配置,server名为server3
worker.server3.port=10009
worker.server3.host=192.168.19.247
worker.server3.type=ajp13
worker.server3.lbfactor=1
#server名为controller,用于负载均衡
worker.controller.type=lb
#重试次数
worker.retries=3
#指定分担请求的server列表,用逗号分隔
worker.controller.balance_workers=server1,server2,server3
#设置用于负载均衡的server的session可否共享 有不少文章说设置为1是可以的,但是我是设置为0才可以的
worker.controller.sticky_session=0
#worker.controller.sticky_session_force=1
worker.status.type=status
3、 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