Назад | Перейти на главную страницу

Varnish не запускается при перезагрузке

У меня установлен varnish 4.1.2, он отлично запускается из командной строки, но не запускается при перезагрузке сервера.

Системный журнал показывает, что адрес уже используется (порт 8080). На этом сервере больше ничего не установлено, это выделенный лакировочный сервер.

При запуске с загрузки это похоже на панику, вот результат panic.show в varnishadm

"Assert error in child_sigsegv_handler(), mgt/mgt_child.c line 282:
  Condition(Segmentation fault by instruction at 0x20bf68) not true.
thread = (cache-worker)
version = varnish-4.1.2 revision 0d7404e
ident = Linux,3.13.0-45-generic,x86_64,-junix,-smalloc,-smalloc,-hcritbit,epoll
Backtrace:
  0x433976: varnishd() [0x433976]
  0x452c43: varnishd() [0x452c43]
  0x7fdc2af61340: libpthread.so.0(+0x10340) [0x7fdc2af61340]
  0x43fba9: varnishd(VCL_DefaultDirector+0x19) [0x43fba9]
  0x436e05: varnishd(CNT_Request+0x9a5) [0x436e05]
  0x44e9d3: varnishd(HTTP1_Session+0xd3) [0x44e9d3]
  0x439d0d: varnishd(SES_Proto_Req+0x5d) [0x439d0d]
  0x4493d1: varnishd() [0x4493d1]
  0x44983b: varnishd() [0x44983b]
  0x7fdc2af59182: libpthread.so.0(+0x8182) [0x7fdc2af59182]
req = 0x7fdc2219a020 {
  vxid = 327766, step = R_STP_RECV,
  req_body = R_BODY_NONE,
  restarts = 0, esi_level = 0,
  sp = 0x7fdc2a1c0220 {
    fd = 22, vxid = 327765,
    client = 192.168.55.13 47216,
    step = S_STP_H1PROC,
  },
  worker = 0x7fdc2c2bac40 {
    stack = {0x7fdc2c2bb000 -> 0x7fdc2c2af000},
    ws = 0x7fdc2c2bae38 {
      id = \"wrk\",
      {s,f,r,e} = {0x7fdc2c2ba3e0,0x7fdc2c2ba3e0,(nil),+2040},
    },
    VCL::method = SYNTH,
    VCL::return = deliver,
    VCL::methods = {},
  },
  ws = 0x7fdc2219a200 {
    id = \"req\",
    {s,f,r,e} = {0x7fdc2219c000,+152,(nil),+57336},
  },
  http_conn = 0x7fdc2219a128 {
    fd = 22,
    doclose = NULL,
    ws = 0x7fdc2219a200,
    {rxbuf_b, rxbuf_e} = {0x7fdc2219c048, 0x7fdc2219c073},
    {pipeline_b, pipeline_e} = {(nil), (nil)},
    content_length = -1,
    body_status = none,
    first_byte_timeout = 0.000000,
    between_bytes_timeout = 0.000000,
  },
  http[req] = 0x7fdc2219a298 {
    ws[req] = 0x7fdc2219a200,
    hdrs {
      \"GET\",
      \"/ping\",
      \"HTTP/1.0\",
      \"Host: www.example.com\",
      \"X-Forwarded-For: 192.168.55.13\",
    },
  },
  vcl = {
    temp = warm
    srcname = {
"

Файл VCL компилирует файл при использовании varnishd -C -f /etc/varnish/default.vcl

Похоже, что главный процесс все еще запущен. Завершение всех процессов varnishd, varnishlog и varnishncsa позволяет сервису запускаться снова.