【www.hj8828.com】Linux安装配置Varnish Web加速器

Linux varnish(一款高品质的开源HTTP加快器),varnish加速器

Linux安装配备Varnish Web加快器

Varnish是一款高质量的开源HTTP加快器,它能够来做纯粹的代理服务器,负载均衡,但varnish最主要的效果是缓存加速,也是它最卓绝的地方。上面介绍在Linux下哪些设置和利用。

一、环境

# cat /etc/issue

CentOS release 6.3 (Final)

Kernel \r on an \m

# getconf LONG_www.hj8828.com,BIT

64

二、下载

cd /usr/local/src/

wget

tar xzvf varnish-3.0.1.tar.gz

三、安装

cd varnish-3.0.1

yum install -y automake autoconf libtool ncurses-devel libxslt groff
pcre-devel pkgconfig

./configure –prefix=/usr/local/varnish

make

make install

四、校验安装

cd /usr/local/varnish/sbin/

./varnishd -V

五、配置

# cd /usr/local/varnish/etc/varnish/

# cp default.vcl default.vcl.bak

# > default.vcl

# cat default.vcl

# This is a basic VCL configuration file for varnish.  See the vcl(7)

# man page for details on VCL syntax and semantics.

#

# Default backend definition.  Set this to point to your content

# server.

#

 backend default {

    .host = “115.28.225.216”;

    .port = “80”;

    ###下边三表现新加配

    .connect_timeout = 1s;

    .first_byte_timeout = 5s;

    .between_bytes_timeout = 2s;

 }

#

# Below is a commented-out copy of the default VCL logic.  If you

# redefine any of these subroutines, the built-in logic will be

# appended to your code.

 sub vcl_recv {

    if (req.restarts == 0) {

        if (req.http.x-forwarded-for) {

            set req.http.X-Forwarded-For =

                req.http.X-Forwarded-For + “, ” + client.ip;

        } else {

            set req.http.X-Forwarded-For = client.ip;

        }

    }

    if (req.request != “GET” &&

      req.request != “HEAD” &&

      req.request != “PUT” &&

      req.request != “POST” &&

      req.request != “TRACE” &&

      req.request != “OPTIONS” &&

      req.request != “DELETE”) {

        /* Non-RFC2616 or CONNECT which is weird. */

        return (pipe);

    }

    if (req.request != “GET” && req.request != “HEAD”) {

        /* We only deal with GET and HEAD by default */

        return (pass);

    }

    if (req.http.Authorization || req.http.Cookie) {

        /* Not cacheable by default */

        return (pass);

    }

    return (lookup);

 }

#

 sub vcl_pipe {

#    # Note that only the first request to the backend will have

#    # X-Forwarded-For set.  If you use X-Forwarded-For and want to

#    # have it set for all requests, make sure to have:

#    # set bereq.http.connection = “close”;

#    # here.  It is not set by default as it might break some broken
web

#    # applications, like IIS with NTLM authentication.

    return (pipe);

 }

#

 sub vcl_pass {

    return (pass);

 }

#

 sub vcl_hash {

    hash_data(req.url);

    if (req.http.host) {

        hash_data(req.http.host);

    } else {

        hash_data(server.ip);

    }

    return (hash);

 }

#

 sub vcl_hit {

    return (deliver);

 }

#

 sub vcl_miss {

    return (fetch);

 }

#

 sub vcl_fetch {

    if (beresp.ttl <= 0s ||

        beresp.http.Set-Cookie ||

        beresp.http.Vary == “*”) {

                /*

                * Mark as “Hit-For-Pass” for the next 2 minutes

                */

                set beresp.ttl = 120 s;

                return (hit_for_pass);

    }

    return (deliver);

 }

#

 sub vcl_deliver {

    return (deliver);

 }

#

# sub vcl_error {

#    set obj.http.Content-Type = “text/html; charset=utf-8”;

#    set obj.http.Retry-After = “5”;

#    synthetic {“

# <?xml version=”1.0″ encoding=”utf-8″?>

# <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”

#  “;

# <html>

#  <head>

#    <title>”} + obj.status + ” ” + obj.response +
{“</title>

#  </head>

#  <body>

#    <h1>Error “} + obj.status + ” ” + obj.response +
{“</h1>

#    <p>”} + obj.response + {“</p>

#    <h3>Guru Meditation:</h3>

#    <p>XID: “} + req.xid + {“</p>

#    <hr>

#    <p>Varnish cache server</p>

#  </body>

# </html>

# “};

#    return (deliver);

# }

#

 sub vcl_init {

        return (ok);

 }

#

 sub vcl_fini {

        return (ok);

 }

六、运维与关闭varnish

/usr/local/varnish/sbin/varnishd -f
/usr/local/varnish/etc/varnish/default.vcl -s malloc,1024m -T
127.0.0.1:200 -a 0.0.0.0:80

启航参数介绍:
-f /usr/local/etc/varnish/default.vcl
这么些 –f 选项钦点varnishd使用哪个配置文件。
-s malloc,1G
那些 –s
选项用来鲜明varnish使用的蕴藏类型和积存体量,作者使用的是malloc类型(malloc是二个C函数,用于分配内部存储器空间),
1G 定义多少内存被malloced,1G = 1gigabyte。
-T 127.0.0.1:2000
Varnish有一个依据文本的管理接口,运营它的话能够在不截至varnish的动静下来管理varnish。您能够钦点管理软件监听哪个接口。当然你不可能让中外的人都能访谈您的varnish管理接口,因为他俩得以很自在的经过拜见varnish管理接口来收获你的root访谈权限。笔者推荐只让它监听本机端口。要是您的体系里有您不完全相信的用户,您能够透过防火墙准则来界定她拜会varnish的管住端口。
-a 0.0.0.0:8080
这一句的意思是制订varnish监听全数IP发给8080端口的http央求,假使在生育意况下,您应该让varnish监听80,那也是默许的。

pkill varnishd    // 关闭Varnish

/usr/local/varnish/bin/varnishncsa -w /var/log/varnish.log &    //启动varnishncsa用来将Varnish访谈日志写入日志文件;


Varnish Cache 的架构笔记

CentOS 5.8下Varnish-2.1.5的安装配置

RedHat脚本改用CentOS源更新安装Nginx、PHP 5.3、Varnish

使用Varnish创设Cache服务器笔记

缓存服务Varnish安装配置

Varnish 编写翻译安装所需图谋

Linux下Varnish缓存的安插优化

Varnish基础概念详解


Varnish 的详实介绍:请点这里
Varnish 的下载地址:请点这里

本文永远更新链接地址:

Web加速器
Varnish是一款高品质的开源HTTP加快器,它可以来做纯粹的代理服务器,负载均衡,但varnish最重大的职能是缓存…

Varnish是一款高品质的开源HTTP加快器,挪威最大的在线民报告纸 Verdens Gang
使用3台Varnish取代了原来的12台squid,品质以致比从前越来越好。

Varnish

Varnish是一款高质量的开源HTTP加快器,挪威最大的在线民报告纸 韦尔德ns Gang
使用3台Varnish取代了原先的12台Squid,品质比在此以前更加好

Varnish 的撰稿人Poul-Henning
Kamp是FreeBSD的内核开拓者之一,他以为今后的计算机比起一九七四年已经复杂大多。在1971年时,积存媒介独有二种:内部存款和储蓄器与硬盘。但前些天计量
机系统的内存除了主存外,还包罗了cpu内的L1、L2,乃至有L3快取。硬盘上也可以有温馨的快取装置,因而squid
cache自行管理物件替换的架构不大概意识到那个意况而达成最棒化,但操作系统能够识破那几个景况,所以那部份的做事应有付出操作系统管理,那就是Varnish cache设计架构。

常用的一声令下

varnishadm ban.url .*$         #清除所有
varnishadm ban.url /index.html  #清除 index.html 页面缓存
varnishadm ban.url /admin/$    #清除 admin 目录缓存

1.  Varnish官网 

部署varnish

2.  到手源码    wget 

1.server1下载安装 yum install *
varnish-libs-3.0.5-1.el6.x86_64.rpm 
varnish-3.0.5-1.el6.x86_64.rpm

3.