建站学 - 轻松建站从此开始!

建站学-个人建站指南,网页制作,网站设计,网站制作教程

当前位置: 建站学 > 建站指南 > 域名知识 >

详解nginx的url与hash给squid提速(2)

时间:2011-03-03 14:47来源: 作者: 点击:
具体配置如下: nginx本身并没有提供url hash功能(暂时),需要安装第三方模块ngx_http_upstream_hash_module http://wiki.codemongers.com/NginxHttpUpstreamRequest HashModule?action=AttachFiledo=gettarget=n

具体配置如下:

nginx本身并没有提供url hash功能(暂时),需要安装第三方模块ngx_http_upstream_hash_module

http://wiki.codemongers.com/NginxHttpUpstreamRequestHashModule?action=AttachFile&do=get&target=nginx_upstream_hash-0.2.tar.gz

cd nginx-0.5.xx

patch -p0 < /path/to/upstream/hash/directory/nginx-0.5.xx.patch

./configure时加上参数

--add-module=path/to/upstream/hash/directory

make; make install

完成安装

配置:

在upstream中加入hash语句,server语句中不能写入weight等其他的参数,hash_method是使用的hash算法

upstream backend {
    server squid1:3128;
    server squid2:3128;
    hash   $request_uri;
    hash_method crc32;
}

hash算法可以使用crc32和默认的simple,在java中可利用java.util.zip.CRC32类实现,simple算法的c语言实现如下

#define ngx_hash(key, c)   ((u_int) key * 31 c)

u_int ngx_hash_key(u_char *data, size_t len)
{
    u_int  i, key;

    key = 0;

    for (i = 0; i < len; i ) {
        key *= 31;
        key = data[i];
    }

    return key;
}
(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片