varnish

Varnish HTTP 缓存服务

补充说明

Varnish 是 HTTP 反向代理缓存,用 VCL 描述缓存策略。它适合静态内容和可缓存的 API 响应,能显著降低后端压力。

常用示例

varnishd -f /etc/varnish/default.vcl -s malloc,2g -a :80
varnishd -C -f /etc/varnish/default.vcl
varnishadm -S /etc/varnish/secret -T 127.0.0.1:6082
varnishadm 'vcl.list'
varnishadm 'backend.list'
varnishadm 'ban req.url ~ "^/old"'
varnishlog
varnishstat
varnishncsa
varnishreload

VCL 要点:

backend default {
  .host = "127.0.0.1";
  .port = "8080";
}

sub vcl_recv {
  if (req.method != "GET" && req.method != "HEAD") {
    return (pass);
  }
  if (req.url ~ "^/api/") {
    return (pass);
  }
}

sub vcl_backend_response {
  set beresp.ttl = 60s;
}

易错点与排错

相关命令