文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>使用nginx的url_hash提高squid的使用率

使用nginx的url_hash提高squid的使用率

时间:2009-02-03  来源:liuhanzhao

上次我说了使用squid自己的堆叠机制实现提高squid使用率的方法,这次再来说说和nginx搭配使用提高多台squid的使用率,目标当然是使用有限的squid服务器,缓存住更多的静态文件。 nginx本身是不支持url_hash的,需要打第三方的patch,下载地址http://wiki.codemongers.com/NginxHttpUpstreamRequestHashModule?action=AttachFile&do=get&target=nginx_upstream_hash-0.3.tar.gz 首先进到nginx的目录 执行patch -p0 < /path/to/upstream/hash/directory/nginx.patch
然后在安装的时候加上 --add-module=path/to/upstream/hash/directory
我的测试环境vmvare 模拟3个linux ip分别:nginx 192.168.211.130 squid01 192.168.211.128 squid02 192.168.211.129 测试网站我反向代理www.tgbus.com
这样nginx上编译完成需要配置,内容如下

http {

    upstream www.tgbus.com {
       server 192.168.211.128;
       server 192.168.211.129;
       hash $request_uri;
       }
    server {
        listen 80;
        server_name www.tgbus.com;
        location / {
            proxy_pass http://bbs.tgbus.com;
        }
    }
}

然后启动nginx 两个squid就配置成标准的反向代理就可以了,主要配置如下

cache_peer 61.152.242.1 parent 80 0 no-digest no-query originserver name=www
cache_peer_domain www www.tgbus.com

然后启动squid 修改自己电脑的hosts,把www.tgbus.com的ip指向到nginx那台虚拟机的ip上,接下来就可以测试了 打开两台squid的日志,用tail -f的方式,然后访问www.tgbus.com,可以看到两边的日志的内容是不一样的,从其中一台squid的日志中找一条静态文件的url,通过ie打开,可以发现,这个url的访问只投到同一台squid上,如此实现了,squid缓存的内容不同,从而增加了squid的缓存容量 当然,如果中间只使用一台nginx,自然这台会成为单点而造成隐患,所以可是使用heartbeat做成双机,增加系统的可靠性。
相关阅读 更多 +
排行榜 更多 +
翌日波奇狗的历险记手机版下载

翌日波奇狗的历险记手机版下载

休闲益智 下载
怪兽远征安卓版下载

怪兽远征安卓版下载

角色扮演 下载
谷歌卫星地图免费版下载

谷歌卫星地图免费版下载

生活实用 下载