您的位置:首页 > 运维架构 > 网站架构

架构师日记——Varnish简介和安装

2017-07-30 20:23 211 查看

Varnish是什么

Varnish是一款开源的、高性能的HTTP加速器和反向代理服务器

Varnish能干什么

最主要的功能就是:通过缓存来实现Web访问加速

Varnish特点

主要基于内存或者是虚拟内存进行缓存,性能好

支持设置精确的缓存时间

VCL配置管理比较灵活

后端服务器的负载均衡和健康检查

局部支持ESI

URL地址重写

优雅的处理后端服务器宕机的问题

32位机器上缓存大小为最大2GB

安装

Ubuntu

sudo apt-get install varnish


Centos

sudo yum install varnish


运行的基本命令示例

varnishd -f /etc/varnish/default.vcl -s malloc,32M -T 127.0.0.1:2000 -a :1111


解析

1. -f:指定要运行的配置文件

2. -s malloc,32M:-s选项用来确定varnish使用的存储类型和存储容量,这里使用的是malloc类型(malloc是一个C函数,用于分配内存空间)

3. -T 127.0.0.1:2000:指定varnish的管理ip和端口

4. -a :1111:指定varnish对外提供web服务的端口

命令语法:

varnishd [-a address[:port]]
[-b host[:port]] [-d] [-F] [-f config][-g group]
[-h type[,options]] [-i identity]
[-l shmlogsize] [-n name]
[-P file] [-p param=value]
[-s type[,options]] [-T address[:port]]
[-t ttl] [-u user] [-V] [-w min[,max[,timeout]]]


-a address:[:port][,address]监听指定的IP地址和端口的请求。地址可以是主机名(“localhost”),或者一个IPV4

(“127.0.0.1”),和IPV6(“[::1]”),如果地址没有明确指定,varnishd将监听所有可用的IPV4和IPV6地址。如果端口没有指定,那么varnishd默认监听/etc/services中的HTTP对应的端口。更多的端口和地址使用逗号分隔。

-b host[:port] :指定后端服务器的地址和接口,如果没有接口,默认是8080

-C :编译VCL代码成C语言,然后退出,指定VCL文件用-f参数

-d :开启debug模式。主进程在前段启动,提供一个CLI界面,用于标准输入输出。子进程必须通过CLI命

令启动。如果结束主进程,那么子进程也会结束。

-F :在前端运行

-f config :使用指定的VCL配置文件代替系统默认的

-g group : 指定Varnishd子进程使用的户组

-h type[,options] :指定hash算法

-i identity :指定Varnishd server的身份

-l shmlogsize :指定shmlogfile的大小,单位可以使用‘k’和‘m’,默认是80M,不要指定比80M

小的值

-n name :为这个实例指定一名字

-P file :指定pidfile,用于保存PID信息

-p param=value :设定指定参数的值

-S file :访问管理端口用到的安全认证文件的路径

-s [name=]type[,options] :使用指定的存储后端,可以多次使用此选项指定不同的存储类型

-T address[:port] :提供一个管理接口的地址和端口

-t ttl :给缓存中的内容指定最小的ttl

-u user :指定运行varnishd子进程的用户

-V :显示Varnishd的版本,然后退出

-w min[,max[,timeout]] :指定线程最小和大空闲时间,这是一个设置thread_pool_min、thread_pool_max和thread_pool_timeout的捷径。如果只有一个值被指定,那么thread_pool_min和thread_pool_max都是用这 个值。Thread_pool_timeout会失效
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  架构师