如何设置 Varnish 在端口 80 上运行。/etc/default/varnish 中设置的 DAEMON_OPTS 故障

Posted

技术标签:

【中文标题】如何设置 Varnish 在端口 80 上运行。/etc/default/varnish 中设置的 DAEMON_OPTS 故障【英文标题】:How to set Varnish to run on port 80. Malfunction of DAEMON_OPTS set in /etc/default/varnish 【发布时间】:2015-08-17 11:07:34 【问题描述】:

我已经安装了 varnish 并遵循了设置它的确切说明,但是,它没有按预期工作。

我的 /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.vlc 设置是

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

我的 apache port.conf 设置是:

NameVirtualHost 127.0.0.1:8080
Listen 127.0.0.1:8080

<IfModule ssl_module>
        Listen 443
</IfModule>

<IfModule mod_gnutls.c>
        Listen 443
</IfModule>

我正在使用 Apache 2.4.10 运行 ubuntu 15.04。当我开始清漆并检查过程时,我得到了休闲:

0:00 /usr/sbin/varnishd -a :6081 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m

似乎监听地址或管理界面都不像 /etc/varnish/default.vcl 中设置的那样工作。结果我的虚拟机都没有工作。我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

您可以使用以下步骤将清漆默认端口更改为 80:

    在路径上打开文件:sudo vim /lib/systemd/system/varnish.service 更新您的默认设置: ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T :6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m 运行以下命令: sudo systemctl daemon-reload sudo service varnish restart

【讨论】:

【参考方案2】:

好的。问题解决了。先做

sudo grep -R 'ExecStart=/usr/sbin/varnishd' /etc/

因此您实际上可以找到设置 Varnish 守护程序选项的其他位置(在我的情况下是 /etc/systemd/system/multi-user.target.wants/varnish.service)。在 vim、nano 或其他任何文件中打开文件,并将该文件中的“ExecStart”设置为 fallows:

-a :[same as /etc/default/varnish]80 -T localhost:[same as /etc/default/varnish]1234 -f [same as /etc/default/varnish ]/etc/varnish/default.vcl -S [same as /etc/default/varnish ]/etc/varnish/secret -s malloc,256m

保存并退出。之后做:

systemctl daemon-reload
systemctl restart varnish.service

然后我们就完成了。一点也不像官方教程。显然它是旧的。

Full explanation of the problem here

【讨论】:

您好!非常感谢,你救了我! 很高兴能帮上忙 :) systemctl restart varnish.service 为我做了。教程使用reload,我觉得还不够

以上是关于如何设置 Varnish 在端口 80 上运行。/etc/default/varnish 中设置的 DAEMON_OPTS 故障的主要内容,如果未能解决你的问题,请参考以下文章

Varnish CentOS - 错误 503 后端获取失败

Squid服务器,Varnish服务器

高级运维:反向代理&使用Varnish加速Web

Squid 代理服务器Varnish服务器

为啥在端口 80 上运行 node.js 可能不安全?

如何在端口 80 上运行 nexus sonatype?