重启后 Varnish 无法启动

重启后 Varnish 无法启动

我已经安装了 varnish 4.1.2,它可以从命令行正常启动,但重新启动服务器时无法启动。

系统日志显示该地址已被使用(端口 8080)。此服务器上没有安装任何其他东西,它是专用的 varnish 服务器。

从启动时看起来像是发生了恐慌,这是 varnishadm 中的 panic.show 的输出

"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 = {
"

使用 varnishd -C -f /etc/varnish/default.vcl 时VCL文件编译文件

看起来主进程仍在运行。终止所有 varnishd、varnishlog 和 varnishncsa 进程可让服务重新启动。

相关内容