php-fpm 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. #! /bin/sh
  2. #######################################################################
  3. # Begin /etc/init.d/php-fpm
  4. #
  5. # Description : Start the PHP fastCGI Proces Manager
  6. #
  7. # Author : P Labastie - pierre.labastie@neuf.fr
  8. # from a file shipped with the PHP pacakge
  9. #
  10. # Version : LFS 7.5
  11. #
  12. ########################################################################
  13. ### BEGIN INIT INFO
  14. # Provides: php-fpm
  15. # Required-Start: $syslog $local_fs $network
  16. # Should-Start: $remote_fs
  17. # Required-Stop: $network
  18. # Should-Stop: $remote_fs
  19. # Default-Start: 3 4 5
  20. # Default-Stop: 0 1 2 6
  21. # Short-Description: starts php-fpm
  22. # Description: starts the PHP FastCGI Process Manager daemon
  23. # X-LFS-Provided-By: BLFS / LFS 7.5
  24. ### END INIT INFO
  25. . /lib/lsb/init-functions
  26. #$LastChangedBy: pierre $
  27. #$Date: 2014-03-29 04:48:53 -0500 (Sat, 29 Mar 2014) $
  28. prefix=/usr
  29. exec_prefix=${prefix}
  30. php_fpm_BIN=${exec_prefix}/sbin/php-fpm
  31. php_fpm_CONF=/etc/php-fpm.conf
  32. php_fpm_PID=/var/run/php-fpm.pid
  33. php_opts="--fpm-config $php_fpm_CONF --pid $php_fpm_PID"
  34. wait_for_pid () {
  35. try=0
  36. while test $try -lt 35 ; do
  37. case "$1" in
  38. 'created')
  39. if [ -f "$2" ] ; then
  40. try=''
  41. break
  42. fi
  43. ;;
  44. 'removed')
  45. if [ ! -f "$2" ] ; then
  46. try=''
  47. break
  48. fi
  49. ;;
  50. esac
  51. echo -n .
  52. try=`expr $try + 1`
  53. sleep 1
  54. done
  55. }
  56. case "$1" in
  57. start)
  58. log_info_msg "Starting PHP fastCGI Process Manager..."
  59. start_daemon $php_fpm_BIN --daemonize $php_opts
  60. if [ "$?" != 0 ] ; then
  61. log_failure_msg2
  62. exit
  63. fi
  64. wait_for_pid created $php_fpm_PID
  65. if [ -n "$try" ] ; then
  66. log_failure_msg2
  67. else
  68. log_success_msg2
  69. fi
  70. ;;
  71. stop)
  72. log_info_msg "Stopping PHP fastCGI Process Manager..."
  73. if [ ! -r $php_fpm_PID ] ; then
  74. log_warning_msg "php-fpm not running?"
  75. exit
  76. fi
  77. killproc -p $php_fpm_PID $php_fpm_BIN -QUIT
  78. wait_for_pid removed $php_fpm_PID
  79. if [ -n "$try" ] ; then
  80. log_failure_msg2
  81. else
  82. log_success_msg2
  83. fi
  84. ;;
  85. status)
  86. statusproc $php_fpm_BIN
  87. ;;
  88. restart)
  89. $0 stop
  90. $0 start
  91. ;;
  92. reload)
  93. log_info_msg "Reload service php-fpm..."
  94. killproc -p $php_fpm_PID $php_fpm_BIN -USR2
  95. log_success_msg2
  96. ;;
  97. *)
  98. echo "Usage: $0 {start|stop|restart|reload|status}"
  99. exit 1
  100. ;;
  101. esac