Marius Cramer
2015-03-23 d71067d6ae11aeaa2d5c59a7c9096eb49b6078b7
commit | author | age
c59632 1 #!/bin/bash
MC 2 #
3 # /etc/init.d/hhvm_{SYSTEM_USER}
4 #
5 ### BEGIN INIT INFO
6 # Provides:          hhvm_{SYSTEM_USER}
7 # Required-Start:    $remote_fs $network
8 # Required-Stop:     $remote_fs $network
9 # Default-Start:     2 3 4 5
10 # Default-Stop:      0 1 6
11 # Description:       Starts The HHVM FastCGI Daemon
12 ### END INIT INFO
13 PATH=/sbin:/usr/sbin:/bin:/usr/bin
14 DESC="HHVM FastCGI Daemon"
15 NAME=hhvm
16
17 do_start()
18 {
1c6da3 19     if [ ! -d /var/run/hhvm ]; then
1b0683 20         mkdir -p -m0777 /var/run/hhvm
MC 21     else
22         chmod 777 /var/run/hhvm
23     fi
24     
25     if [[ -e "/var/run/hhvm/hhvm_{SYSTEM_USER}.pid" ]] ; then
26         kill -0 `cat /var/run/hhvm/hhvm_{SYSTEM_USER}.pid` >/dev/null 2>&1 ;
27         case "$?" in
28             0)
29                 return 1
30                 ;;
31         esac
32     fi
33     
d71067 34     if [[ -S /var/run/mysqld/mysqld.sock && ! -S /tmp/mysql.sock ]] ; then
MC 35         ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock ;
36     fi
37     
1c6da3 38     umask 017
1b0683 39     sudo -u {SYSTEM_USER} touch /var/run/hhvm/hhvm_{SYSTEM_USER}.pid
9d9ea6 40     INIFILE=""
MC 41     if [[ -e "/var/www/conf/{SYSTEM_USER}/php.ini" ]] ; then
42         INIFILE="-vServer.IniFile=/var/www/conf/{SYSTEM_USER}/php.ini" ;
43     elif [[ -e "/etc/php5/hhvm/php.ini" ]] ; then
44         INIFILE="-vServer.IniFile=/etc/php5/hhvm/php.ini" ;
45     elif [[ -e "/etc/php5/cgi/php.ini" ]] ; then
46         INIFILE="-vServer.IniFile=/etc/php5/cgi/php.ini" ;
47     fi
d71067 48     /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 $INIFILE -vPidFile=/var/run/hhvm/hhvm_{SYSTEM_USER}.pid & echo $! > /var/run/hhvm/hhvm_{SYSTEM_USER}.pid
c59632 49 }
MC 50
51 do_stop()
52 {
1c6da3 53     if [[ -e "/var/run/hhvm/hhvm_{SYSTEM_USER}.pid" ]] ; then
MC 54         kill -SIGTERM `cat /var/run/hhvm/hhvm_{SYSTEM_USER}.pid` >/dev/null 2>&1 ;
55     fi
56     rm -f /var/run/hhvm/hhvm.{SYSTEM_USER}.sock /var/run/hhvm/hhvm.{SYSTEM_USER}.hhbc /var/run/hhvm/hhvm_{SYSTEM_USER}.pid
c59632 57 }
MC 58
59 case "$1" in
1b0683 60     start)
MC 61         do_start
62         ;;
63     stop)
64         do_stop
65         ;;
66     restart|force-reload)
67         do_stop
68         case "$?" in
69             0|1)
70                 do_start
71                 ;;
72             *)
73                 ;;
74         esac
75         ;;
76     *)
77         exit 3
78         ;;
c59632 79 esac
MC 80
81 :