参考资料

  1. Docker 是一个开源的应用容器引擎
  2. docker安装包详细说明以及案例
  3. Elixir 是一种基于 Erlang 虚拟机的函数式编程语言
  4. TeamSpeak(TS)是一款专为游戏玩家和团队协作设计的语音通信软件
  5. docker安装详细说明以及案例
  6. Nextcloud 是一款开源的自托管文件同步与共享平台
  7. docker安装mysql详细说明以及案例
  8. Composer 是 PHP 的依赖管理工具

Varnish 简介

Varnish 是一款高性能的开源 HTTP 加速器和反向代理服务器,主要用于缓存动态和静态内容,提升网站性能。

特点

  1. 高性能:采用内存缓存,响应速度快。

  2. 灵活配置:使用 VCL(Varnish Configuration Language)进行配置。

  3. 负载均衡:支持后端服务器的负载均衡。

  4. 日志和统计:提供详细的日志和统计功能。

  5. 可扩展:支持通过 VMODs(Varnish Modules)扩展功能。

最新更新内容及时间

  • 最新版本:7.3.0

  • 更新时间:2023年10月

  • 更新内容

    • 改进了 HTTP/2 支持。

    • 新增了多个 VMODs。

    • 性能优化和 bug 修复。

镜像下载地址

官网地址

阅读文档地址

Docker 安装示例

docker run --name my-varnish -v /path/to/varnish.vcl:/etc/varnish/default.vcl -p 8080:80 varnish:7.3.0

.yarl 设置教程

Varnish 使用 .vcl 文件进行配置,不是 .yarl。以下是一个简单的 VCL 配置示例:

vcl 4.1;

backend default {
    .host = "backend-server";
    .port = "80";
}

sub vcl_recv {
    if (req.url ~ "^/static/") {
        return (hash);
    }
}

sub vcl_backend_response {
    if (bereq.url ~ "^/static/") {
        set beresp.ttl = 1h;
    }
}

常用错误问题

  1. 503 错误:后端服务器不可用,检查后端配置。

  2. 缓存不生效:检查 VCL 配置中的缓存规则。

  3. 内存不足:调整 mallocfile 存储大小。

  4. VCL 编译错误:使用 varnishd -C -f /etc/varnish/default.vcl 检查语法。

  5. 启动失败:检查端口是否被占用或配置错误。