【问题标题】:Installing Varnish as per the Varnish Book?根据 Varnish Book 安装 Varnish?
【发布时间】:2015-06-14 21:21:38
【问题描述】:

我有一台普通的 Debian DigitalOcean 机器,我正在尝试学习 Varnish Book 中的“开发人员”课程。我必须the first exercise, Installation

我已经安装了 Apache 并让它在端口 8080 上运行(如果我转到 http://my.ip.xxx.xxx:8080 我会看到 Apache2 Debian 默认页面。我还安装了 Varnish,所以步骤 1-3 很好。

现在我正在尝试执行第 4 步和第 5 步。我已将/etc/default/varnish 编辑如下:

DAEMON_OPTS="-a :80 \
         -T localhost:1234 \
         -f /etc/varnish/default.vcl \
         -S /etc/varnish/secret \
         -s malloc,256m"

我已将/etc/varnish/default.vcl 编辑如下:

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

然后我运行了service varnish start,它没有产生任何错误。

但是如果我去http://my.ip.xxx.xxx(即没有端口号)我什么也看不到。

我做错了什么?

如果我按照书中的建议运行netstat -ntlp,我会在端口 6081 和 6082 上看到 Varnish,在端口 8080 上看到 Apache,但在端口 80 上什么也看不到。

【问题讨论】:

  • 如果我在命令行运行varnishd -a :80 -T localhost:1234 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m -d,然后输入start,那么一切正常。所以也许这与/etc/default/varnish/etc/init.d/varnish 打得不好有关?
  • 您必须在更改 /etc/default/varnish 后重新启动 varnish 以使其侦听端口 80 而不是端口 6081。尝试运行“sudo service varnish restart”。
  • 您在哪个 Debian 版本上运行?可能是 sysv 与 systemd 的问题。

标签: varnish


【解决方案1】:

老问题,但我自己也有这个问题。就我而言,我必须编辑 /lib/systemd/system/varnishncsa.service,因为 SystemD 正在接管旧的 InitD。

[Service]
ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:1234 -f /etc/varnish/abadcer.vcl -S /etc/varnish/secret -s malloc,256m

然后你提交更改并重新启动 Varnish

sudo systemctl daemon-reload
sudo service varnish restart

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-14
    • 2013-12-26
    • 2012-02-09
    • 1970-01-01
    • 2014-12-18
    • 2016-02-03
    • 1970-01-01
    相关资源
    最近更新 更多