tseew 发表于 2015-5-14 08:48:24

LNMP环境下php-fpm启动脚本

安装LNMP环境,PHP5.4.37版本安装成功,添加php-fpm服务到系统启动项时,报错service php-fpm does not support chkconfig;php-fpm服务不支持chkconfig;
编辑/etc/init.d/php-fpm启动脚本,打开之后是乱码,查找原因是拷贝php-fpm启动脚本文件错误。
从同样环境下同样的php版本拷贝php-fpm启动脚本,重新编辑黏贴过来,保存退出后,可以正常加入启动项;有遇到同样情况的朋友可以直接复制脚本,保持与脚本内容的路径一样即可。


php-fpm启动脚本参考如下:

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
#! /bin/sh
### BEGIN INIT INFO
# Provides:          php-fpm
# Required-Start:    $remote_fs $network
# Required-Stop:   $remote_fs $network
# Default-Start:   2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts php-fpm
# Description:       starts the PHP FastCGI Process Manager daemon
### END INIT INFO
prefix=/usr/local/php
exec_prefix=${prefix}
php_fpm_BIN=${exec_prefix}/sbin/php-fpm
php_fpm_CONF=${prefix}/etc/php-fpm.conf
php_fpm_PID=${prefix}/var/run/php-fpm.pid
php_opts="--fpm-config $php_fpm_CONF --pid $php_fpm_PID"
wait_for_pid () {
try=0
while test $try -lt 35 ; do
case "$1" in
   'created')
   if [ -f "$2" ] ; then
    try=''
    break
   fi
   ;;
   'removed')
   if [ ! -f "$2" ] ; then
    try=''
    break
   fi
   ;;
esac
echo -n .
try=`expr $try + 1`
sleep 1
done
}
case "$1" in
start)
echo -n "Starting php-fpm "
$php_fpm_BIN --daemonize $php_opts
if [ "$?" != 0 ] ; then
   echo " failed"
   exit 1
fi
wait_for_pid created $php_fpm_PID
if [ -n "$try" ] ; then
   echo " failed"
   exit 1
else
   echo " done"
fi
;;
stop)
echo -n "Gracefully shutting down php-fpm "
if [ ! -r $php_fpm_PID ] ; then
   echo "warning, no pid file found - php-fpm is not running ?"
   exit 1
fi
kill -QUIT `cat $php_fpm_PID`
wait_for_pid removed $php_fpm_PID
if [ -n "$try" ] ; then
   echo " failed. Use force-quit"
   exit 1
else
   echo " done"
fi
;;
status)
if [ ! -r $php_fpm_PID ] ; then
   echo "php-fpm is stopped"
   exit 0
fi
PID=`cat $php_fpm_PID`
if ps -p $PID | grep -q $PID; then
   echo "php-fpm (pid $PID) is running..."
else
   echo "php-fpm dead but pid file exists"
fi
;;
force-quit)
echo -n "Terminating php-fpm "
if [ ! -r $php_fpm_PID ] ; then
   echo "warning, no pid file found - php-fpm is not running ?"
   exit 1
fi
kill -TERM `cat $php_fpm_PID`
wait_for_pid removed $php_fpm_PID
if [ -n "$try" ] ; then
   echo " failed"
   exit 1
else
   echo " done"
fi
;;
restart)
$0 stop
$0 start
;;
reload)
echo -n "Reload service php-fpm "
if [ ! -r $php_fpm_PID ] ; then
   echo "warning, no pid file found - php-fpm is not running ?"
   exit 1
fi
kill -USR2 `cat $php_fpm_PID`
echo " done"
;;
*)
echo "Usage: $0 {start|stop|force-quit|restart|reload|status}"
exit 1
;;
esac






页: [1]
查看完整版本: LNMP环境下php-fpm启动脚本