summaryrefslogtreecommitdiff
path: root/network/varnish/rc.varnishd
diff options
context:
space:
mode:
Diffstat (limited to 'network/varnish/rc.varnishd')
-rw-r--r--network/varnish/rc.varnishd87
1 files changed, 87 insertions, 0 deletions
diff --git a/network/varnish/rc.varnishd b/network/varnish/rc.varnishd
new file mode 100644
index 0000000000..5d8ba96833
--- /dev/null
+++ b/network/varnish/rc.varnishd
@@ -0,0 +1,87 @@
+#!/bin/sh
+# Written to start/stop/restart varnishd.
+# by Cherife Li <cherife@dotimes.com>
+#
+
+VARNISH_VCL_CONF=/etc/default.vcl
+VARNISH_PIDFILE=/var/run/varnish.pid
+VARNISH_LOCKFILE=/var/lock/subsys/varnish
+VARNISH_DAEMON=/usr/sbin/varnishd
+VARNISH_PARAM="-p thread_pool_max=1500 -p thread_pools=5 -p listen_depth=512 -p client_http11=off"
+
+VARNISH_LOG_PIDFILE=/var/run/varnishlog.pid
+VARNISH_LOG_LOCKFILE=/var/lock/subsys/varnishlog
+VARNISH_LOG_DAEMON=/usr/bin/varnishlog
+LOGFILE=/var/log/varnish.log
+VARNISH_LOG_OPTS="-a -w ${LOGFILE} -D -P ${VARNISH_LOG_PIDFILE}"
+
+# Default address and port to bind to
+# Blank address means all IPv4 and IPv6 interfaces, otherwise specify
+# a host name, an IPv4 dotted quad, or an IPv6 address in brackets.
+VARNISH_LISTEN_ADDRESS=
+VARNISH_LISTEN_PORT=80
+
+# Telnet admin interface listen address and port
+VARNISH_ADMIN_LISTEN_ADDRESS=127.0.0.1
+VARNISH_ADMIN_LISTEN_PORT=81
+
+# The minimum number of worker threads to start
+VARNISH_MIN_THREADS=1
+
+# The Maximum number of worker threads to start
+VARNISH_MAX_THREADS=100
+
+# Idle timeout for worker threads
+VARNISH_THREAD_TIMEOUT=120
+
+# Cache file location
+VARNISH_STORAGE_FILE=/var/lib/varnish_storage.bin
+
+# Cache file size: in bytes, optionally using k / M / G / T suffix,
+# or in percentage of available disk space using the % suffix.
+VARNISH_STORAGE_SIZE=1G
+
+# Backend storage specification
+VARNISH_STORAGE="file,${VARNISH_STORAGE_FILE},${VARNISH_STORAGE_SIZE}"
+
+# Default TTL used when the backend does not specify one
+VARNISH_TTL=120
+
+# VARNISH_DAEMON_OPTS is used by the init script. If you add or remove options, make
+# sure you update this section, too.
+VARNISH_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} \
+ -w ${VARNISH_MIN_THREADS},${VARNISH_MAX_THREADS},${VARNISH_THREAD_TIMEOUT} \
+ -u nobody -g nobody \
+ -P ${VARNISH_PIDFILE} \
+ -s ${VARNISH_STORAGE}"
+
+case "$1" in
+'start')
+ echo -n "Starting varnish daemon..."
+ $VARNISH_DAEMON $VARNISH_DAEMON_OPTS $VARNISH_PARAM > /dev/null 2>&1
+ $VARNISH_LOG_DAEMON $VARNISH_LOG_OPTS
+ touch $VARNISH_LOCKFILE $VARNISH_LOG_LOCKFILE
+ echo
+ ;;
+'stop')
+ echo -n "Stopping varnish daemon..."
+ kill -9 $(cat $VARNISH_PIDFILE)
+ kill -9 $(cat $VARNISH_LOG_PIDFILE)
+ rm -f $VARNISH_PIDFILE $VARNISH_LOG_PIDFILE $VARNISH_LOCKFILE $VARNISH_LOG_LOCKFILE
+ killall varnishd 2> /dev/null
+ echo
+ ;;
+'restart')
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+*)
+ echo "usage $0 start|stop|restart"
+ exit 1
+esac
+
+exit 0