1.准备内核环境
准备好与运行环境对应版本的kernel source,我用了2.6.8,并编译生成新的linux2.6.8.070728版本,然后重起进入这个版本。
2.编译ktcpvs
在ktcpvs目录运行make install
3.测试ktcpvs
在ktcpvs目录运行./start,没有任何错误提示,可以通过lsmod | grep ktcpvs查看到
如果出现FATAL: Error inserting ktcpvs
(/lib/modules/2.6.8-2-386/kernel/net/ktcpvs/ktcpvs.ko): Unknown symbol
in module, or unknown parameter (see dmesg)启动不了,很有可能是版本不一致,可以通过modinfo
ktcpvs.ko查看,因为我一开始也出这样的错
4.简单配置ktcpvs
主要有四种规则:simple http, persistent http, cookie-based http, hash-based http
webcache
我先配置一个simple http,配置config,start,stop三个文件
假设ktcpvs服务器ip地址是192.168.0.185
config文件如下:
Virtual webtest {
listen = 0.0.0.0:80
scheduler = http
startservers = 8
maxclients = 256
minspareservers = 6
maxspareservers = 18
server = 192.168.0.105:80 1
server = 192.168.0.128:8080 1
rule = pattern "/apache2-default/.*" use server 192.168.0.105:80
rule = pattern ".*" use server 192.168.0.128:8080
}
注:定义了两个real server,一个处理apache默认安装的80端口服务,一个处理剩余的tomcat的8080端口服务,最简单只要有一个real server就行
原来默认有webcache代表8080,www代表80
start文件如下:
#/bin/bash
modprobe ktcpvs
modprobe tvs_http
modprobe tvs_phttp
modprobe tvs_chttp
modprobe tvs_hhttp
echo 5 > /proc/sys/net/ktcpvs/debug_level
userspace/tcpvsadm -f config
userspace/tcpvsadm --start -i webtest
stop文件如下:
#/bin/bash
userspace/tcpvsadm --stop -i webtest
echo 1 > /proc/sys/net/ktcpvs/unload
echo Waiting...
sleep 3
rmmod tvs_hhttp
rmmod tvs_chttp
rmmod tvs_phttp
rmmod tvs_http
rmmod ktcpvs
之后在ktcpvs目录运行./start
访问应该返回的是105的apache页面
访问应该返回的是128的tomcat页面
这样就简单配置就ok了
阅读(914) | 评论(0) | 转发(0) |