且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

LNMP环境下php-fpm启动脚本

更新时间:2022-08-25 18:48:02

安装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








本文转自 模范生 51CTO博客,原文链接:http://blog.51cto.com/mofansheng/1650859,如需转载请自行联系原作者