]>
Commit | Line | Data |
---|---|---|
ae1427a4 ER |
1 | #!/bin/sh |
2 | # | |
3 | # php-fpm PHP FastCGI Process Manager | |
4 | # | |
5 | # chkconfig: 345 80 30 | |
6 | # | |
7 | # description: PHP FastCGI Process Manager | |
8 | # | |
9 | # processname: php.fpm | |
10 | # config: /etc/php/fpm.conf | |
11 | # pidfile: /var/run/php/fpm.pid | |
12 | # | |
13 | # $Id$ | |
14 | ||
15 | # Source function library | |
16 | . /etc/rc.d/init.d/functions | |
17 | ||
18 | # Get network config | |
19 | . /etc/sysconfig/network | |
3aa45803 | 20 | |
63ce2900 | 21 | php_fpm_BIN=/usr/bin/php.fpm |
3aa45803 ER |
22 | php_fpm_CONF=/etc/php/fpm.conf |
23 | php_fpm_PID=/var/run/php/fpm.pid | |
24 | ||
3aa45803 ER |
25 | php_opts="--fpm-config $php_fpm_CONF" |
26 | ||
ae1427a4 ER |
27 | wait_for_pid() { |
28 | local try=0 | |
29 | while test $try -lt 35; do | |
3aa45803 ER |
30 | case "$1" in |
31 | 'created') | |
ae1427a4 | 32 | if [ -f "$2" ]; then |
3aa45803 ER |
33 | try='' |
34 | break | |
35 | fi | |
36 | ;; | |
37 | ||
38 | 'removed') | |
ae1427a4 | 39 | if [ ! -f "$2" ]; then |
3aa45803 ER |
40 | try='' |
41 | break | |
42 | fi | |
43 | ;; | |
44 | esac | |
45 | ||
46 | echo -n . | |
47 | try=`expr $try + 1` | |
48 | sleep 1 | |
3aa45803 | 49 | done |
3aa45803 ER |
50 | } |
51 | ||
ae1427a4 ER |
52 | start() { |
53 | echo -n "Starting php_fpm " | |
3aa45803 | 54 | |
ae1427a4 | 55 | $php_fpm_BIN --fpm $php_opts |
3aa45803 | 56 | |
ae1427a4 ER |
57 | if [ "$?" != 0 ] ; then |
58 | echo " failed" | |
59 | exit 1 | |
60 | fi | |
3aa45803 | 61 | |
ae1427a4 | 62 | wait_for_pid created $php_fpm_PID |
3aa45803 | 63 | |
ae1427a4 ER |
64 | if [ -n "$try" ] ; then |
65 | echo " failed" | |
66 | exit 1 | |
67 | else | |
68 | echo " done" | |
69 | fi | |
70 | } | |
3aa45803 | 71 | |
ae1427a4 ER |
72 | stop() { |
73 | echo -n "Shutting down php_fpm " | |
3aa45803 | 74 | |
ae1427a4 ER |
75 | if [ ! -r $php_fpm_PID ] ; then |
76 | echo "warning, no pid file found - php-fpm is not running ?" | |
77 | exit 1 | |
78 | fi | |
3aa45803 | 79 | |
ae1427a4 | 80 | kill -TERM `cat $php_fpm_PID` |
3aa45803 | 81 | |
ae1427a4 | 82 | wait_for_pid removed $php_fpm_PID |
3aa45803 | 83 | |
ae1427a4 ER |
84 | if [ -n "$try" ] ; then |
85 | echo " failed" | |
86 | exit 1 | |
87 | else | |
88 | echo " done" | |
89 | fi | |
90 | } | |
3aa45803 | 91 | |
ae1427a4 ER |
92 | quit() { |
93 | echo -n "Gracefully shutting down php_fpm " | |
3aa45803 | 94 | |
ae1427a4 ER |
95 | if [ ! -r $php_fpm_PID ] ; then |
96 | echo "warning, no pid file found - php-fpm is not running ?" | |
97 | exit 1 | |
98 | fi | |
3aa45803 | 99 | |
ae1427a4 | 100 | kill -QUIT `cat $php_fpm_PID` |
3aa45803 | 101 | |
ae1427a4 | 102 | wait_for_pid removed $php_fpm_PID |
3aa45803 | 103 | |
ae1427a4 ER |
104 | if [ -n "$try" ] ; then |
105 | echo " failed" | |
106 | exit 1 | |
107 | else | |
108 | echo " done" | |
109 | fi | |
110 | } | |
3aa45803 | 111 | |
ae1427a4 ER |
112 | reload() { |
113 | echo -n "Reload service php-fpm " | |
3aa45803 | 114 | |
ae1427a4 ER |
115 | if [ ! -r $php_fpm_PID ] ; then |
116 | echo "warning, no pid file found - php-fpm is not running ?" | |
117 | exit 1 | |
118 | fi | |
3aa45803 | 119 | |
ae1427a4 ER |
120 | kill -USR2 `cat $php_fpm_PID` |
121 | echo " done" | |
122 | } | |
3aa45803 | 123 | |
ae1427a4 ER |
124 | condrestart() { |
125 | if [ -f /var/lock/subsys/php-fpm ]; then | |
126 | stop | |
127 | start | |
128 | else | |
129 | msg_not_running php-fpm | |
130 | RETVAL=$1 | |
131 | fi | |
132 | } | |
3aa45803 | 133 | |
ae1427a4 ER |
134 | flush-logs() { |
135 | echo -n "Re-opening php-fpm log file " | |
3aa45803 | 136 | |
ae1427a4 ER |
137 | if [ ! -r $php_fpm_PID ] ; then |
138 | echo "warning, no pid file found - php-fpm is not running ?" | |
139 | exit 1 | |
140 | fi | |
3aa45803 | 141 | |
ae1427a4 | 142 | kill -USR1 `cat $php_fpm_PID` |
3aa45803 | 143 | |
ae1427a4 ER |
144 | echo " done" |
145 | } | |
3aa45803 | 146 | |
ae1427a4 ER |
147 | RETVAL=0 |
148 | # See how we were called. | |
149 | case "$1" in | |
150 | start) | |
151 | start | |
3aa45803 | 152 | ;; |
ae1427a4 ER |
153 | stop) |
154 | stop | |
155 | ;; | |
156 | restart) | |
157 | stop | |
158 | start | |
159 | ;; | |
160 | try-restart) | |
161 | condrestart 0 | |
162 | ;; | |
163 | reload|force-reload) | |
164 | reload | |
165 | ;; | |
166 | quit) # graceful shutdown | |
167 | quit | |
168 | ;; | |
169 | flush-logs|logrotate) | |
170 | flush-logs | |
171 | ;; | |
172 | status) | |
173 | status php-fpm php.fpm | |
174 | RETVAL=$? | |
175 | ;; | |
176 | *) | |
177 | msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|flush-logs|status}" | |
178 | exit 3 | |
3aa45803 | 179 | ;; |
3aa45803 | 180 | esac |
ae1427a4 ER |
181 | |
182 | exit $RETVAL |