summaryrefslogtreecommitdiff
path: root/network/lighttpd2/conf/rc.spawn-fcgi
diff options
context:
space:
mode:
Diffstat (limited to 'network/lighttpd2/conf/rc.spawn-fcgi')
-rw-r--r--network/lighttpd2/conf/rc.spawn-fcgi77
1 files changed, 77 insertions, 0 deletions
diff --git a/network/lighttpd2/conf/rc.spawn-fcgi b/network/lighttpd2/conf/rc.spawn-fcgi
new file mode 100644
index 0000000000..146dc4f3bb
--- /dev/null
+++ b/network/lighttpd2/conf/rc.spawn-fcgi
@@ -0,0 +1,77 @@
+#!/bin/sh
+# Copyright (c) 2012, ponce <matteo.bernardini@gmail.com>
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+SPAWNFCGI=/usr/bin/spawn-fcgi
+FCGI_PROGRAM=/usr/bin/php-cgi
+FCGI_SOCKET=/var/run/lighttpd2/www-default-php.sock
+PHP_FCGI_CHILDREN=4
+FCGI_CHILDREN=1
+CGI_USER=lighttpd
+CGI_GROUP=lighttpd
+SOCKET_USER=lighttpd
+SOCKET_GROUP=lighttpd
+PIDFILE=/var/run/lighttpd2/spawn-fcgi.pid
+PHP_FCGI_MAX_REQUESTS=1000
+
+export PHP_FCGI_MAX_REQUESTS
+
+spawnfcgi_start() {
+ echo "Starting spawn-fcgi: $SPAWNFCGI"
+ if [ -f "$PIDFILE" ]; then
+ echo "Already running!"
+ return
+ fi
+ $SPAWNFCGI -s $FCGI_SOCKET -u $CGI_USER -U $SOCKET_USER \
+ -g $CGI_USER -G $SOCKET_GROUP -P $PIDFILE \
+ -C $PHP_FCGI_CHILDREN -F $FCGI_CHILDREN -- $FCGI_PROGRAM \
+ >> /dev/null 2>&1
+}
+
+spawnfcgi_stop() {
+ echo "Stopping spawn-fcgi: $SPAWNFCGI"
+ if [ -f "$PIDFILE" ]; then
+ rm -f $PIDFILE $FCGI_SOCKET
+ killall $FCGI_PROGRAM
+ else
+ echo "Not running!"
+ fi
+}
+
+spawnfcgi_restart() {
+ spawnfcgi_stop
+ sleep 1
+ spawnfcgi_start
+}
+
+case "$1" in
+'start')
+ spawnfcgi_start
+ ;;
+'stop')
+ spawnfcgi_stop
+ ;;
+restart)
+ spawnfcgi_restart
+ ;;
+*)
+ echo "usage $0 start|stop|restart"
+esac