Starting specific version of thin web server My perfect music creation platform
Nov 02

The simplest way to test syntax is to use the administration console via telnet on a Dev/QA Varnish machine. Your current running Varnish should allow your IP/localhost to connect if you have implemented a Varnish ACL.

  • Start up Varnish with single command-line
  • Login to console via telnet
  • Load the config you wish to test
  • Use the config.

On OSX:

sudo /usr/local/sbin/varnishd -F  -a localhost:3000 -b localhost:6081 -T localhost:6082

From another console/shell/ open connection to Varnish management console:

telnet localhost 6082
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Load config and try to use (the config used in this example has a syntax problem. Therefore, you will see compilation errors:

vcl.load error /Users/hbeaver/code/varnish_demo/config/syntax_error.vcl
106 181
Message from VCC-compiler:
Expected one of
	'acl', 'sub', 'backend',  or 'director'
Found: '}' at
(input Line 12 Pos 1)
}
#
Running VCC-compiler failed, exit 1VCL compilation failed

Conversely, if the VCL has good syntax you should see no errors:

vcl.load good_config /Users/hbeaver/code/varnish_demo/config/default.vcl
200 13
VCL compiled.

2 Responses to “Testing Varnish VCL Syntax”

  1. Michael Maier Says:

    I think it’s more easy to use varnishd -C -f /path/to/foo.vcl

  2. hbeaver Says:

    At the time I was writing that I was using Varnish 2.0.2 and 2.0.4. And apparently -C was an undocumented function. http://varnish-cache.org/ticket/559 But I stand corrected. Thanks!

Leave a Reply