Marius Burkard
2016-05-04 c3189ce6c7301c3ec17878fd3918f31d0d3cb18a
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
#!/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()
{
    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
    
    umask 022
    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
        INIFILE="--config /etc/php5/cgi/php.ini" ;
    fi
    
    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=true $BASEINIFILE $INIFILE $CUSTOMINIFILE -vPidFile=/var/run/hhvm/hhvm_{SYSTEM_USER}.pid & echo $! > /var/run/hhvm/hhvm_{SYSTEM_USER}.pid
}
 
do_stop()
{
    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
}
 
case "$1" in
    start)
        do_start
        ;;
    stop)
        do_stop
        ;;
    restart|force-reload)
        do_stop
        case "$?" in
            0|1)
                do_start
                ;;
            *)
                ;;
        esac
        ;;
    *)
        exit 3
        ;;
esac
 
: