Varnish+Nginx实现单双Web服务器缓存

varnish利用实现对后端单双静态web服务器的缓存

varnish包的下载路径: 可以下载到varnish的rpm包

需要下载的有:

varnish-3.0.5-1.el6.x86_64

varnish-docs-3.0.5-1.el6.x86_64

varnish-libs-3.0.5-1.el6.x86_64

varnish的官网地址:https://www.varnish-cache.org/

实验环境:

web1:172.16.18.3            Nginx

web2:172.16.17.12          Nginx

varnish:172.16.18.1        Varnish

实验内容:

一,安装varnish包,配置web服务器

[root@node1~]# rpm -ql varnish   

/etc/rc.d/init.d/varnish              #varnish的启动程序   

/etc/rc.d/init.d/varnishlog          #日志   

/etc/rc.d/init.d/varnishncsa          #日志   

/etc/sysconfig/varnish                #配置文件,varnish定义自身属性   

/etc/varnish                          #配置文件目录   

/etc/varnish/default.vcl              #默认配置文件,定义后端节点的   

/usr/bin/varnish_reload_vcl          #加载vcl,   

/usr/bin/varnishadm                  #客户端程序   

/usr/bin/varnishstat                  #状态监控


二,编辑配置文件

[root@node1 ~]# vim /etc/sysconfig/varnish

NFILES=131072

MEMLOCK=82000

NPROCS="unlimited"

RELOAD_VCL=1                                                        #是否重载VCL文件

## Alternative 3, Advanced configuration

VARNISH_VCL_CONF=/etc/varnish/default.vcl              #vcl文件路径

VARNISH_LISTEN_PORT=80                                    #varnish自己工作于那个端口。默认是6081

VARNISH_ADMIN_LISTEN_ADDRESS=127.0.0.1      #管理接口

VARNISH_ADMIN_LISTEN_PORT=6082                    #管理接口监听端口

VARNISH_SECRET_FILE=/etc/varnish/secret                #密钥文件

VARNISH_MIN_THREADS=50                                    #最少空闲线程

VARNISH_MAX_THREADS=1000                                #最多启动线程

VARNISH_THREAD_TIMEOUT=120                            #work超时时长

#VARNISH_STORAGE_FILE=/var/lib/varnish/varnish_storage.bin        #存储文件

VARNISH_STORAGE_SIZE=64M                                                    #存储文件文件大小

#VARNISH_STORAGE="file,${VARNISH_STORAGE_FILE},${VARNISH_STORAGE_SIZE}"    #存储方式file

VARNISH_STORAGE="malloc,${VARNISH_STORAGE_SIZE}"    #基于内存方式

VARNISH_TTL=120

DAEMON_OPTS="-a ${VARNISH_LISTEN_ADDRESS}:${VARNISH_LISTEN_PORT} \

-f ${VARNISH_VCL_CONF} \

-T ${VARNISH_ADMIN_LISTEN_ADDRESS}:${VARNISH_ADMIN_LISTEN_PORT} \

-t ${VARNISH_TTL} \

-w ${VARNISH_MIN_THREADS},${VARNISH_MAX_THREADS},${VARNISH_THREAD_TIMEOUT} \

-u varnish -g varnish \

-S ${VARNISH_SECRET_FILE} \

-s ${VARNISH_STORAGE}"

[root@node1 ~]# vim /etc/varnish/default.vcl

backend default {

.host = "172.16.18.3";

.port = "80";

}


此时varnish就已经可以启动了。下来就是最重要的编写vcl文件。

------------------------------------------------------------

Varnish Cache 的架构笔记

CentOS 5.8下Varnish-2.1.5的安装配置

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

利用Varnish构建Cache服务器笔记

缓存服务Varnish安装配置

Varnish 编译安装所需准备

Linux下Varnish缓存的配置优化

Varnish基础概念详解

-----------------------------------------------------------------------------------

那么我们就应该熟悉这张表,每一个状态引擎所对应的变量

Varnish+Nginx实现单双Web服务器缓存

简单介绍一下vcl的语法

VCL的设计参考了C和Perl语言,因此,对有着C或Perl编程经验者来说,其非常易于理解。其基本语法说明如下:

(1)//、#或/* comment */用于注释

(2)sub $name 定义函数

(3)不支持循环,有内置变量

(4)使用终止语句,没有返回值

(5)域专用

(6)操作符:=(赋值)、==(等值比较)、~(模式匹配)、!(取反)、&&(逻辑与)、||(逻辑或)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/73dd95f55cbe3c6e12b645c25b5c6034.html