Newer
Older
#!/bin/bash
#
# /etc/init.d/hhvm_{SYSTEM_USER}
#
### BEGIN INIT INFO
# Provides: hhvm_{SYSTEM_USER}
# Required-Start: $remote_fs $network
# Required-Stop: $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Starts The HHVM FastCGI Daemon
### END INIT INFO
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="HHVM FastCGI Daemon"
NAME=hhvm
do_start()
{
Marius Cramer
committed
if [ ! -d /var/run/hhvm ]; then
mkdir -p -m0777 /var/run/hhvm
else
chmod 777 /var/run/hhvm
fi
if [[ -e "/var/run/hhvm/hhvm_{SYSTEM_USER}.pid" ]] ; then
kill -0 `cat /var/run/hhvm/hhvm_{SYSTEM_USER}.pid` >/dev/null 2>&1 ;
case "$?" in
0)
return 1
;;
esac
fi
if [[ -S /var/run/mysqld/mysqld.sock && ! -S /tmp/mysql.sock ]] ; then
ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock ;
fi
sudo -u {SYSTEM_USER} touch /var/run/hhvm/hhvm_{SYSTEM_USER}.pid
BASEINIFILE=""
if [[ -e "/etc/hhvm/php.ini" ]] ; then
BASEINIFILE="--config /etc/hhvm/php.ini" ;
fi
INIFILE=""
if [[ -e "/var/www/conf/{SYSTEM_USER}/php.ini" ]] ; then
INIFILE="--config /var/www/conf/{SYSTEM_USER}/php.ini" ;
elif [[ -e "/etc/php5/hhvm/php.ini" ]] ; then
INIFILE="--config /etc/php5/hhvm/php.ini" ;
elif [[ -e "/etc/php5/fpm/php.ini" ]] ; then
INIFILE="--config /etc/php5/fpm/php.ini" ;
elif [[ -e "/etc/php5/cgi/php.ini" ]] ; then
CUSTOMINIFILE=""
if [[ -e "/etc/hhvm/{SYSTEM_USER}.ini" ]] ; then
CUSTOMINIFILE="--config /etc/hhvm/{SYSTEM_USER}.ini" ;
fi
/usr/bin/hhvm --mode daemon -vServer.Type=fastcgi --user {SYSTEM_USER} -vServer.FileSocket=/var/run/hhvm/hhvm.{SYSTEM_USER}.sock -vLog.Level=Warning -vLog.UseLogFile=false -vRepo.Central.Path=/var/run/hhvm/hhvm.{SYSTEM_USER}.hhbc -vServer.FixPathInfo=false $BASEINIFILE $INIFILE $CUSTOMINIFILE -vPidFile=/var/run/hhvm/hhvm_{SYSTEM_USER}.pid & echo $! > /var/run/hhvm/hhvm_{SYSTEM_USER}.pid
Marius Cramer
committed
if [[ -e "/var/run/hhvm/hhvm_{SYSTEM_USER}.pid" ]] ; then
kill -SIGTERM `cat /var/run/hhvm/hhvm_{SYSTEM_USER}.pid` >/dev/null 2>&1 ;
fi
rm -f /var/run/hhvm/hhvm.{SYSTEM_USER}.sock /var/run/hhvm/hhvm.{SYSTEM_USER}.hhbc /var/run/hhvm/hhvm_{SYSTEM_USER}.pid
start)
do_start
;;
stop)
do_stop
;;
restart|force-reload)
do_stop
case "$?" in
0|1)
do_start
;;
*)
;;
esac
;;
*)
exit 3
;;