1,Varnish的安装

        1,操作系统:redhat  or  centos

        2,依赖关系:    


    • autoconf

    • automake

    • jemalloc-devel

    • libedit-devel

    • libtool

    • ncurses-devel

    • pcre-devel

    • pkgconfig

    • python-docutils

    • python-sphinx

        2,安装varnish(这里使用yum安装)以及后端服务器。

            添加varnish的源(epel-release源)

            yum install epel-release

            rpm --nosignature -i https://repo.varnish-cache.org/redhat/varnish-4.0.el6.rpm(注意,centos 6版本的系统最好安装varnishi4.0的版本,如果安装4.1的版本的话,会提示lib库版本较低,要手动编译安装相关依赖条件 )

            yum -y install varnish nginx

        3,启动varnish

            首先我们来看下,安装完成varnish之后为我们提供了那些命令

            varnishadm:命令行管理varnish命令

            varnishd:启动varnish的命令

            varnishlog:查看varnishlog的

            varnishncsa:查看varnish的accesslog

            varnishstat:查看varnish状态。

            这些是常用的一些命令,具体的使用方法可以man帮助看下。

            varnish的配置文件在/etc/varnish/default.vcl,我们可以打开来看下,开始我们就是用默认的配置文件,后面会对相关的配置文件进行学习说明。首先我们是要保证其正确运行起来。

#
# This is an example VCL file for Varnish.
#
# It does not do anything by default, delegating control to the
# builtin VCL. The builtin VCL is called when there is no explicit
# return statement.
#
# See the VCL chapters in the Users Guide at https://www.varnish-cache.org/docs/
# and http://varnish-cache.org/trac/wiki/VCLExamples for more examples.
# Marker to tell the VCL compiler that this VCL has been adapted to the
# new 4.0 format.
vcl 4.0;
# Default backend definition. Set this to point to your content server.
#后端的真实服务器
backend default {
    .host = "127.0.0.1";
    .port = "80";
}
sub vcl_recv {
    # Happens before we check if we have this in cache already.
    #   
    # Typically you clean up the request here, removing cookies you don't need,
    # rewriting the request, etc.
}
sub vcl_backend_response {
    # Happens after we have read the response headers from the backend.
    #   
    # Here you clean the response headers, removing silly Set-Cookie headers
    # and other mistakes your backend does.
}
sub vcl_deliver {
    # Happens when we have all the pieces we need, and are about to send the
    # response to the client.
    #   
    # You can do accounting or modifying the final object here.

}

            varnish的启动脚本在/etc/rc.d/init.d/varnish,varnish的启动参数配置在/etc/sysconfig/varnish.看下启动参数配置:

            

RELOAD_VCL=1 #是否自动加载vcl配置文件
VARNISH_VCL_CONF=/etc/varnish/default.vcl  #配置文件的位置
VARNISH_LISTEN_PORT=6081#varnish的监听端口,对外提供服务的端口
VARNISH_ADMIN_LISTEN_ADDRESS=127.0.0.1#管理地址            
VARNISH_ADMIN_LISTEN_PORT=6082#管理端口
VARNISH_SECRET_FILE=/etc/varnish/secret  #安全密钥文件
# The minimum number of worker threads to start
VARNISH_MIN_THREADS=50
# The Maximum number of worker threads to start
VARNISH_MAX_THREADS=1000
# Cache file size: in bytes, optionally using k / M / G / T suffix.
VARNISH_STORAGE_SIZE=256M
# Backend storage specification
VARNISH_STORAGE="malloc,${VARNISH_STORAGE_SIZE}"
# Default TTL used when the backend does not specify one
VARNISH_TTL=120
# DAEMON_OPTS is used by the init script.启动varnish应用的时候使用的参数
DAEMON_OPTS="-a ${VARNISH_LISTEN_ADDRESS}:${VARNISH_LISTEN_PORT} \
        -f ${VARNISH_VCL_CONF} \
       -T ${VARNISH_ADMIN_LISTEN_ADDRESS}:${VARNISH_ADMIN_LISTEN_PORT} \
       -p thread_pool_min=${VARNISH_MIN_THREADS} \             
       -p thread_pool_max=${VARNISH_MAX_THREADS} \         
       -u root -g root \             
       -S ${VARNISH_SECRET_FILE} \             
       -s ${VARNISH_STORAGE}"

    service varnish  start 

    到此,我们就启动了varnish。可以使用相关命令查看下其进程等等。