So you set up Varnish. You really did everything right, but when you try to start it…
root@www:/etc/apache2/sites-available# service varnish start
* Starting HTTP accelerator varnishd [fail]
SMA.s0: max size 512 MB.
Too many arguments (\...)
usage: varnishd [options] -a …
and so on, and you have tried and tried to edit /etc/default/varnish till you’re ready to give up?
Varnish works fine if you start it from the command line with configuration (as described in the documentation – for testing), but fails to start as a daemon?
The problem is some invalid characters related with line break in the /etc/default/varnish file. They seem to be there in the original file itself. I was not able to fix the characters, but simply editing the file so that the whole configuration appears as one line works.
So, for example:
DAEMON_OPTS="-a :80 \
-T localhost:1234 \
-f /etc/varnish/default.vcl \
DAEMON_OPTS="-a :80 -T localhost:1234 -f /etc/varnish/default.vcl -s malloc,256m"
This worked for me. If you don’t like this you could try fixing whatever the issue is with the linebreak. Do tell me if you figure it out.