如何设置Varnish在端口80上运行。在/ etc / default / varnish

时间:2015-06-03 09:55:06

标签: varnish varnish-vcl systemd apache2.4 ubuntu-15.04

我已经安装了清漆并且准备了设置它的确切说明,但是,它没有按预期工作。

我的/ 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中设置的那样工作。我的虚拟机都不能正常工作。我怎么解决这个问题?

2 个答案:

答案 0 :(得分:28)

确定。问题解决了。先做

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

答案 1 :(得分:1)

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

  1. 在路径上打开文件:sudo vim /lib/systemd/system/varnish.service
  2. 更新您的默认值: 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
  3. 运行以下命令: sudo systemctl daemon-reload sudo service varnish restart