美文网首页程序员
Varnish 接口缓存

Varnish 接口缓存

作者: Sunsol | 来源:发表于2017-07-06 19:16 被阅读0次

varnish基础概念

可以基于内存缓存,也可以在磁盘上缓存,但是就算存放在磁盘上,也不能实现持久缓存

只要进成本管控,此前缓存通通失效,无论是在内存还是在磁盘,但是现在已经具备持久缓存功能,但是仍然在试验阶段,经常容易崩溃,而且最大大小不能超过1G。

如果期望内存大小超过几十个G,比如图片服务器,纯粹使用内存,性能未必好,这个时候可以使用磁盘进行缓存,或SSD X 2座RAID避免磁盘损坏,在实现随机访问上ssd硬盘要比机械硬盘要好得多,如果必须要缓存在磁盘上还是建议使用ssd磁盘。


开始

搭建一台云服务器,使用ssh进入,并搭建好一个web服务器,例如:Apache或nginx

更新系统

sudo apt-get update
sudo apt-get upgrade

安装和配置Varnish

1、安装Varnish包

sudo apt-get install varnish

2、为了避免配置被以后的更新而修改,复制一下默认配置:

cd /etc/varnish
sudo cp default.vcl user.vcl

3、停止Varnish服务,配置Varnish

sudo systemctl stop varnish

用Systemd配置varnish后台

打开varnish.service文件,设置端口、配置文件、缓存大小,例如

ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/user.vcl -S /etc/varnish/secret -s malloc,1G

varnish.service的路径为/lib/systemd/system/varnish.service

本人在Ubuntu上的配置具体内容如下
[Unit]
Description=Varnish HTTP accelerator

[Service]
Type=forking
LimitNOFILE=131072
LimitMEMLOCK=82000
ExecStartPre=/usr/sbin/varnishd -C -f /etc/varnish/default.vcl
ExecStart=/usr/sbin/varnishd -a :6081 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
ExecReload=/usr/share/varnish/reload-vcl

[Install]
WantedBy=multi-user.target
  1. 上面的配置分配最多1G的内存来存储缓存项,如果你需要调整这些配置,编辑-s malloc, 1G即可。
  2. 重启systemd:
sudo systemctl daemon-reload

修改Varnish的默认配置通过VCL文件

在上述内容中,配置文件中有一个默认的user.vcl文件,你需要配置这个文件,来配置Varnish。路径为/etc/varnish/user.vcl。配置内容如下:

backend default {
    .host = "127.0.0.1";     (本地IP)
    .port = "8080";          (所需缓存的服务器的端口号)
}

配置缓存时间

同上打开user.vcl文件,加上以下内容:

sub vcl_backend_response {
    set beresp.ttl = 5m
}

相关文章

  • Varnish 接口缓存

    varnish基础概念 可以基于内存缓存,也可以在磁盘上缓存,但是就算存放在磁盘上,也不能实现持久缓存 只要进成本...

  • varnish缓存总结

    一、理论基础 二种常用的开源解决方案squid、varnish 条件式请求解决缓存与后端服务器内容更新不匹配问题的...

  • varnish缓存服务

    缓存系统相关概念 代理式缓存:客户端访问缓存服务器,缓存服务器没有命中缓存时到后端服务器请求数据,此时它作为反向代...

  • Varnish 缓存策略

    default.vcl 子进程工作流程图示 在子进程 VCL 中的可用变量 image.png VCL (Var...

  • varnish实现缓存对象及反代后端主机

    一、varnish软件 1、概述 (1)Varnish是一款高性能、开源的反向代理服务器和缓存服务器。Varnis...

  • varnish

    varnish: varnish是一个Web应用程序加速器也被称为高速缓存HTTP反向代理。可以在HTTP的任何服...

  • Varnish

    Varnish是一款高性能的开源HTTP加速器,可以实现缓存和代理功能。varnish的每个版本的功能功能有很大的...

  • 缓存相关的

    web缓存服务器 varnish / squid / nginx cache 有什么不同? Nginx 反向代理为...

  • 五层网站架构一览

    网页缓存租凭CDN自己部署Squid/Varnish 负载均衡层F5 LVS/HAproxy Ng...

  • varnish缓存代理介绍

    官方网址:各版本之间差距较大,其中第四版本被epel源收录 概括: 对于网站而言,缓存为王;缓存是对网站加速必不可...

网友评论

    本文标题:Varnish 接口缓存

    本文链接:https://www.haomeiwen.com/subject/zxkkhxtx.html