varnishd gives 'Cannot create working directory' error

Bennett Haselton bennett at peacefire.org
Sun Oct 21 08:07:15 CEST 2007


I'm trying to install varnish with some help from a friend who knows a lot 
more about Linux.  Since I copied his instructions exactly, I know exactly 
what I typed to install it.  I followed all of the steps below, but still 
whne I try to start varnishd I get the error:

[root at sls-ce3p12 ~]# /etc/rc.d/init.d/varnishd start
Starting varnishd: Cannot create working directory 
'NONE/var/varnish/sls-ce3p12'
: No such file or directory

Here's everything I did to get installed:

cd /usr/tmp
wget wget 
http://downloads.sourceforge.net/varnish/varnish-1.1.1.tar.gz?modtime=1187647873&big_mirror=0
tar xzvf varnish-1.1.1.tar.gz
cd varnish-1.1.1
yum install gcc
./configure
yum install ncurses-devel
make
make install

Then I put everything between the ">>>" lines into /etc/vcl.conf :
 >>>
backend www {
     set backend.host = "localhost";
     set backend.port = "8080";
}

sub vcl_recv {
  if (req.request == "GET" && req.url ~ "\.(gif|jpg|swf|css|js)$") {
     lookup;
  }
}
 >>>

Then I put everything between the ">>>" lines into 
/etc/rc.d/init.d/varnishd:
 >>>
#!/bin/bash
#
# varnishd        Startup script for the Varnishd proxy
#
# chkconfig: - 85 15
# description: Varnish is a state-of-the-art, high-performance HTTP
#              accelerator.
#
# processname: httpd
# config: /etc/vcl.conf
# pidfile: /var/run/varnishd.pid

# Source function library.
. /etc/rc.d/init.d/functions

# various paths
varnishd=/usr/local/sbin/varnishd
prog=varnishd
pidfile=/var/run/varnishd.pid
lockfile=/var/lock/subsys/varnishd
RETVAL=0

# startup options

options='-T localhost:81 -f /etc/vcl.conf'

# The semantics of these two functions differ from the way apachectl does
# things -- attempting to start while running is a failure, and shutdown
# when not running is also a failure.  So we just do it the way init 
scripts
# are expected to behave here.
start() {
         echo -n $"Starting $prog: "
         daemon $varnishd $options
         RETVAL=$?
         echo
         [ $RETVAL = 0 ] && touch ${lockfile}
         return $RETVAL
}
stop() {
         echo -n $"Stopping $prog: "
         killproc $varnishd
         RETVAL=$?
         echo
         [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}
}

# See how we were called.
case "$1" in
   start)
         start
         ;;
   stop)
         stop
         ;;
   status)
         status $varnishd
         RETVAL=$?
         ;;
   restart)
         stop
         start
         ;;
   *)
         echo $"Usage: $prog {start|stop|restart|status}"
         exit 1
esac

exit $RETVAL
 >>>

chkconfig --add varnishd
chkconfig --level 345 varnishd on
/etc/rc.d/init.d/httpd stop

And then finally I tried to run:
/etc/rc.d/init.d/varnishd start

and got the error:

Starting varnishd: Cannot create working directory 
'NONE/var/varnish/sls-ce3p12'
: No such file or directory

What should I do?

	-Bennett

bennett at peacefire.org     http://www.peacefire.org
(425) 497 9002




More information about the varnish-misc mailing list