1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149
| #! /bin/sh
#
# varnish Control the varnish HTTP accelerator
#
# chkconfig: - 90 10
# description: Varnish is a high-perfomance HTTP accelerator
# processname: varnishd
# config: /etc/sysconfig/varnish
# pidfile: /var/run/varnish/varnishd.pid
### BEGIN INIT INFO
# Provides: varnish
# Required-Start: $network $local_fs $remote_fs
# Required-Stop: $network $local_fs $remote_fs
# Should-Start: $syslog
# Short-Description: start and stop varnishd
# Description: Varnish is a high-perfomance HTTP accelerator
### END INIT INFO
# Source function library.
. /lib/lsb/init-functions
retval=0
pidfile=/var/run/varnish.pid
exec="/usr/local/sbin/varnishd"
prog="varnishd"
config="/etc/default/varnish"
lockfile="/var/lock/varnish"
# Include varnish defaults
[ -e /etc/default/varnish ] && . /etc/default/varnish
start() {
if [ ! -x $exec ]
then
echo $exec not found
exit 5
fi
if [ ! -f $config ]
then
echo $config not found
exit 6
fi
log_daemon_msg "Starting varnish HTTP accelerator"
log_progress_msg $prog
# Open files (usually 1024, which is way too small for varnish)
ulimit -n ${NFILES:-131072}
# Varnish wants to lock shared memory log in memory.
ulimit -l ${MEMLOCK:-82000}
# $DAEMON_OPTS is set in /etc/sysconfig/varnish. At least, one
# has to set up a backend, or /tmp will be used, which is a bad idea.
if [ "$DAEMON_OPTS" = "" ]; then
echo "\$DAEMON_OPTS empty."
echo -n "Please put configuration options in $config"
return 6
else
echo $exec
echo $DAEMON_OPTS
# Varnish always gives output on STDOUT
echo $pidfile
start-stop-daemon --start --pidfile $pidfile \
--exec $exec -- -P $pidfile $DAEMON_OPTS > /dev/null 2>&1
retval=$?
echo $retval
if [ $retval -eq 0 ]
then
log_end_msg 0
else
log_end_msg 1
fi
return $retval
fi
}
stop() {
log_daemon_msg "Stopping varnish HTTP accelerator"
log_progress_msg $prog
start-stop-daemon --stop --pidfile $pidfile --retry 10 \
--exec $exec
retval=$?
if [ $retval -eq 0 ] && rm -f $lockfile
then
log_end_msg 0
else
log_end_msg 1
fi
return $retval
}
restart() {
reload() {
restart
}
force_reload() {
restart
}
rh_status() {
status -p $pidfile $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
# See how we were called.
case "$1" in
start)
#rh_status_q && exit 0
$1
;;
stop)
#rh_status || exit 0
$1
;;
restart)
$1
;;
reload)
#rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
#rh_status_q || exit 0
restart
;;
*)
echo "Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
exit 2
esac
exit $? |
Partager