• Varnish安装使用(初学)


    Varnish安装使用(初学)
    本人对varnish也是新手,这里记录一下安装步骤!

    环境:centos6.6

    varnish安装包下载:wget https://repo.varnish-cache.org/source/varnish-3.0.7.tar.gz

    先上我的拓扑图 (基础拓扑为LVSDR环境)  LVS不在这里讲解

     

    安装


    yum -y install gcc gcc-c++ make autoconf automake
    yum -y install automake autoconf libtool ncurses-devel libxslt groff pcre-devel pkgconfig readline-devel<br>tar -zxf varnish-3.0.7.tar.gz<br>cd varnish-3.0.7<br>./configure --prefix=/usr/local/varnish<br>make;make install
     拷贝文件到系统


    cp redhat/varnish.initrc /etc/init.d/varnish
    cp redhat/varnish.sysconfig /etc/sysconfig/varnish
    cp redhat/varnish_reload_vcl /usr/local/varnish/bin
     

    修改varnish配置文件

    vim /etc/sysconfig/varnish

    修改为如下内容 (里面有许多varnish的性能配置)

    VARNISH_VCL_CONF=/usr/local/varnish/etc/varnish/default.vcl

    VARNISH_LISTEN_PORT=80

    VARNISH_SECRET_FILE=/usr/local/varnish/etc/varnish/secret

    vim /etc/init.d/varnish


    pidfile=/var/run/varnish.pid
    exec="/usr/local/varnish/sbin/varnishd"
    reload_exec="/usr/local/varnish/bin/varnish_reload_vcl"
     


    # Done parsing, set up command
    VARNISHADM="/usr/local/varnish/bin/varnishadm $secret -T $VARNISH_ADMIN_LISTEN_ADDRESS:$VARNISH_ADMIN_LISTEN_PORT"
     注:也可以将/usr/local/varnish/bin添加到系统的PATH中,这样就不需要编辑varnish_reload_vcl

    生成varnish管理秘钥:


    /usr/bin/uuidgen > /usr/local/varnish/etc/varnish/secret
    chmod 644 /usr/local/varnish/etc/varnish/secret
     

    VCL配置(对应拓扑图)

    vim /usr/local/varnish/etc/varnish/default.vcl


    backend web1 {
    .host = "192.168.0.38";
    .port = "80";
    .connect_timeout = 1s;
    .first_byte_timeout = 5s;
    .between_bytes_timeout = 2s;
    }
     
    backend web2 {
    .host = "192.168.0.162";
    .port = "80";
    .connect_timeout = 1s;
    .first_byte_timeout = 5s;
    .between_bytes_timeout = 2s;
    }
     
    director syw_web random {
            { .backend = web1; .weight =2; }
            { .backend = web2; .weight =2; }
     
    }
     
    #clean cache
    acl purge {
            "localhost";
            "127.0.0.1";
            "192.168.0.162";
            "192.168.0.167";
    }
     
    sub vcl_recv {
            if (req.http.host ~ "^192.168.0.193"){
                    set req.backend = syw_web;}
     
     
    if (req.request == "PURGE") {
          if (!client.ip ~purge) {
            error 405 "Not Allowed";
        }
            return(lookup); #find localhost cache
    }
     
    if (req.request == "GET" && req.url ~ ".(png|swf|txt|png|gif|jpg|css|js|htm|html)$") {
        unset req.http.cookie;
     }
     
    if (req.url ~ "^/images") {
      unset req.http.cookie;
     }
     
    #if (req.http.Cache-Control ~ "(no-cache|max-age=0)"){
    #       purge_url(req.url);
    #}
    #       return (lookup);
     
     
    #获取客户端ip
    #     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;
                }
      #   }
    }
     

    检查VCL配置是否正确:
    /etc/init.d/varnish configtest

    /usr/local/varnish/sbin/varnishd -C -f /usr/local/varnish/etc/varnish/fdfs.vcl    #启动varnish:
     
    service varnish start    #查看varnish状态:
     
    /etc/init.d/varnish status   # 动态加载VCL配置:
     
    /etc/init.d/varnish reload   # 停止varnish:
     
    /etc/init.d/varnish stop
     

    先就说这么多吧

    更多精华请参考

  • 相关阅读:
    hdu 4521 小明系列问题——小明序列(线段树 or DP)
    hdu 1115 Lifting the Stone
    hdu 5476 Explore Track of Point(2015上海网络赛)
    Codeforces 527C Glass Carving
    hdu 4414 Finding crosses
    LA 5135 Mining Your Own Business
    uva 11324 The Largest Clique
    hdu 4288 Coder
    PowerShell随笔3 ---别名
    PowerShell随笔2---初始命令
  • 原文地址:https://www.cnblogs.com/zhangan/p/5101891.html
Copyright © 2020-2023  润新知