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