我正在运行 Amazon Linux。
我最初在这个盒子上安装了 Varnish 3,但现在安装了 Varnish 4。
sudo varnishd -a 0.0.0.0:80 -f /etc/varnish/default.vcl
...可以正常启动 Varnish 4,并且
pkill varnishd
...可以很好地杀死它。
但
service varnish stop
似乎控制 Varnish 3,而不是 Varnish 4。我很困惑!
这是为什么?我该怎么做才能让这个盒子忘记 Varnish 3?
答案1
如果您想使用service
它来停止Varnish
,您也应该使用相同的service
来启动Varnish
,而不是像您一样手动运行它。
如果您需要更新脚本,请使用whereis
或which
查找二进制文件的位置,然后确保您的初始化脚本指向与您找到的位置相同的位置:
# grep ^exec /etc/init.d/varnish
exec="/usr/sbin/varnishd"
#
所有这些都假设您使用的是 RHEL6,因为 RHEL7Varnish
附带systemd
脚本:
$ rpm -q varnish
varnish-4.0.3-3.el7.x86_64
$ grep ^ExecStart /usr/lib/systemd/system/varnish.service
ExecStartPre=/usr/sbin/varnishd -C -f $VARNISH_VCL_CONF
ExecStart=/usr/sbin/varnishd \
$
此外,除非有实际需要,否则我认为将它们同时安装在同一系统上并不是一个好主意。
答案2
您需要检查 varnish init 脚本并确保它指向 varnish 4 实际使用的正确的服务器二进制文件和 pid 文件。