Chinaunix首页 | 论坛 | 博客
  • 博客访问: 71879
  • 博文数量: 21
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 250
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-29 09:40
文章分类
文章存档

2008年(13)

2007年(8)

我的朋友
最近访客

分类: LINUX

2008-01-02 11:17:26

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) |
给主人留下些什么吧!~~