#!/bin/sh # # varnish Control the varnish HTTP accelerator # # chkconfig: 345 90 10 # description: HTTP accelerator # processname: varnishd # config: /etc/varnish.conf # pidfile: /var/run/varnish/varnishd.pid # Source function library. . /etc/rc.d/init.d/functions # Get network config . /etc/sysconfig/network # Get service config - may override defaults [ -f /etc/sysconfig/varnish ] && . /etc/sysconfig/varnish # Check that networking is up. if is_yes "${NETWORKING}"; then if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then msg_network_down "Varnish HTTP accelerator" exit 1 fi else exit 0 fi start() { if [ -f /var/lock/subsys/varnish ]; then msg_already_running "Varnish HTTP accelerator" return fi # default limits SERVICE_LIMITS="${SERVICE_LIMIS:--n $NFILES -l $MEMLOCK}" # DAEMON_OPTS is used by the init script. If you add or remove options, make # sure you update this section, too. DAEMON_OPTS="-a ${VARNISH_LISTEN_ADDRESS}:${VARNISH_LISTEN_PORT} \ -f ${VARNISH_VCL_CONF} \ -T ${VARNISH_ADMIN_LISTEN_ADDRESS}:${VARNISH_ADMIN_LISTEN_PORT} \ -t ${VARNISH_TTL} \ -u ${VARNISH_USER} -g ${VARNISH_GROUP} \ -w ${VARNISH_MIN_THREADS},${VARNISH_MAX_THREADS},${VARNISH_THREAD_TIMEOUT} \ -n ${VARNISH_NAME} \ -s ${VARNISH_STORAGE}" msg_starting "Varnish HTTP accelerator" daemon /usr/sbin/varnishd $DAEMON_OPTS $VARNISH_OPTS RETVAL=$? [ $RETVAL -eq 0 ] && touch /var/lock/subsys/varnish } stop() { if [ ! -f /var/lock/subsys/varnish ]; then msg_not_running "Varnish HTTP accelerator" return fi msg_stopping "Varnish HTTP accelerator" killproc /usr/sbin/varnishd rm -f /var/lock/subsys/varnish } condrestart() { if [ ! -f /var/lock/subsys/varnish ]; then msg_not_running "Varnish HTTP accelerator" RETVAL=$1 return fi stop start } RETVAL=0 # See how we were called. case "$1" in start) start ;; stop) stop ;; restart) stop start ;; try-restart) condrestart 0 ;; force-reload) condrestart 7 ;; status) status varnishd RETVAL=$? ;; *) msg_usage "$0 {start|stop|restart|try-restart|force-reload|status}" exit 3 esac exit $RETVAL