blob: 88f0a1474322c9b37a6e67a97ff6c9f68776d4c9 (
plain)
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
#!/bin/bash
. /etc/rc.conf
. /etc/rc.d/functions
pid_file='/var/run/lighttpd/lighttpd-angel.pid'
get_pid() {
if [ -r "${pid_file}" ]; then
cat "${pid_file}"
else
pgrep -f /usr/sbin/lighttpd-angel
fi
}
test_config() {
stat_busy 'Checking configuration'
if [ $(id -u) -ne 0 ]; then
stat_append '(This script must be run as root)'
stat_die
fi
if [ ! -r /etc/lighttpd/lighttpd.conf ]; then
stat_append '(/etc/lighttpd/lighttpd.conf not found)'
stat_die
fi
/usr/sbin/lighttpd -t -f /etc/lighttpd/lighttpd.conf >/dev/null 2>&1
if [ $? -gt 0 ]; then
stat_append '(error in /etc/lighttpd/lighttpd.conf)'
stat_die
fi
local piddir=$(dirname "${pid_file}")
if [ ! -d "${piddir}" ]; then
install -d -m755 -o http -g http "${piddir}"
fi
stat_done
}
start() {
stat_busy 'Starting lighttpd'
local PID=$(get_pid)
if [ -z "$PID" ]; then
nohup /usr/sbin/lighttpd-angel -D -f /etc/lighttpd/lighttpd.conf >>/var/log/lighttpd/lighttpd-angel.log 2>&1 &
if [ $? -gt 0 ]; then
stat_die
else
echo $! > "${pid_file}"
add_daemon lighttpd
stat_done
fi
else
stat_die
fi
}
stop() {
stat_busy 'Stopping lighttpd'
local PID=$(get_pid)
[ -n "$PID" ] && kill $PID &> /dev/null
if [ $? -gt 0 ]; then
stat_fail
else
[ -f "${pid_file}" ] && rm -f "${pid_file}"
rm_daemon lighttpd
stat_done
fi
}
gracefull-stop() {
stat_busy 'Stopping lighttpd gracefully'
local PID=$(get_pid)
[ -n "$PID" ] && kill -INT $PID &> /dev/null
if [ $? -gt 0 ]; then
stat_fail
else
[ -f "${pid_file}" ] && rm -f "${pid_file}"
rm_daemon lighttpd
stat_done
fi
}
reload() {
stat_busy 'Reloading lighttpd'
local PID=$(get_pid)
[ -n "$PID" ] && kill -HUP $PID &> /dev/null
if [ $? -gt 0 ]; then
stat_die
else
stat_done
fi
}
case "$1" in
start)
test_config
start
;;
stop)
test_config
stop
;;
gracefull-stop)
test_config
stop
;;
reload)
test_config
reload
;;
restart)
test_config
stop
while [ -n "$(get_pid)" ]; do
sleep 1
done
start
;;
status)
stat_busy 'Checking lighttpd status'
ck_status lighttpd
;;
*)
echo "usage: $0 {start|stop|gracefull-stop|reload|restart|status}"
esac
exit 0
|