diff options
Diffstat (limited to 'extra/varnish/rc.varnish')
-rw-r--r-- | extra/varnish/rc.varnish | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/extra/varnish/rc.varnish b/extra/varnish/rc.varnish new file mode 100644 index 000000000..2ebd97e33 --- /dev/null +++ b/extra/varnish/rc.varnish @@ -0,0 +1,46 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions +. /etc/conf.d/varnish + +pidfile=/run/varnish.pid +if [[ -r $pidfile ]]; then + read -r PID < "$pidfile" + if [[ ! -d /proc/$PID ]]; then + # stale pidfile + unset PID + rm -f "$pidfile" + fi +fi + +case "$1" in + start) + stat_busy "Starting Varnish Reverse Proxy" + if /usr/sbin/varnishd $VARNISHD_OPTS -P "$pidfile"; then + add_daemon varnish + stat_done + else + stat_fail + exit 1 + fi + ;; + stop) + stat_busy "Stopping Varnish Reverse Proxy" + if [[ $PID ]] && kill $PID &>/dev/null; then + rm_daemon varnish + stat_done + else + stat_fail + exit 1 + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" + ;; +esac |