如何设置 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 故障的主要内容,如果未能解决你的问题,请参考以下文章