1 haftadır zaman zaman varnish cache sunucusu, çöküyor
watcheri bunu algılıyor killiyor, buraya kadar bir sorun yok
ama ne hikmetse tekrar başlatmıyor ve servis kapalı kalıyor.
Hata loglarındada birşey görünmüyor, varnish cache alanıda 256mb
okuduğum dökümanlarda cache alanının büyük olduğundan,
sistem swap alanı takası esnasında oluşan bootle neck,
sistemin fiziksel ramı kalmadığından vs olabileceği yazılmış ancak hiç biri
benim için geçerli bir durum değil.
sistem loglarında birşey görünmüyor bu cli killing mesajı haricindede..
ben de şöyle bir betiği konsolda açık bırakarak bu işi hallettim belki sizinde işinize yarar, bu betik servis kapalı kaldığında manuel yeniden başlatıyor.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<?php ini_set('display_errors', 1); error_reporting(~E_ALL); while (true) { sleep(10); echo "Checking..\n"; $cmd = "ps aux | grep varnishd | grep pid | wc -l"; $result = trim(shell_exec($cmd)); if ($result <> "3") { echo "Varnish Is not Running..\n"; sleep(15); $cmd = "ps aux | grep varnishd | grep pid | wc -l"; $result = trim(shell_exec($cmd)); if ($result <> "3") { echo "Varnish Restarting...\n"; shell_exec("service varnish restart"); sleep(30); }; }; }; ?> |
şu komutlada root yetkisi ile arkada bırakıyoruz
1 |
nohup php varnish-check > varnish-check.log & |
size supervisord önereceğim.
hızlı ve temiz bir çözüm.
Örnek olarak. https://github.com/thomaswelton/docker-varnish/blob/master/supervisord.conf