Danack

php-fpm init.d script

Jul 9th, 2014
479
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.25 KB | None | 0 0
  1. #! /bin/sh
  2.  
  3. ### BEGIN INIT INFO
  4. # Provides: php-fpm
  5. # Required-Start: $remote_fs $network
  6. # Required-Stop: $remote_fs $network
  7. # Default-Start: 2 3 4 5
  8. # Default-Stop: 0 1 6
  9. # Short-Description: starts php-fpm
  10. # Description: starts the PHP FastCGI Process Manager daemon
  11. ### END INIT INFO
  12.  
  13. prefix=/usr/local
  14. exec_prefix=${prefix}
  15.  
  16. php_fpm_BIN=${exec_prefix}/sbin/php-fpm
  17. php_fpm_CONF=/etc/php-fpm.conf
  18. php_fpm_PID=/var/run/php-fpm/php-fpm.pid
  19.  
  20. #php_fpm_CONF=${prefix}/etc/php-fpm.conf
  21. #php_fpm_PID=${prefix}/var/run/php-fpm.pid
  22.  
  23.  
  24. php_opts="--fpm-config $php_fpm_CONF --pid $php_fpm_PID"
  25.  
  26.  
  27. wait_for_pid () {
  28. try=0
  29.  
  30. while test $try -lt 35 ; do
  31.  
  32. case "$1" in
  33. 'created')
  34. if [ -f "$2" ] ; then
  35. try=''
  36. break
  37. fi
  38. ;;
  39.  
  40. 'removed')
  41. if [ ! -f "$2" ] ; then
  42. try=''
  43. break
  44. fi
  45. ;;
  46. esac
  47.  
  48. echo -n .
  49. try=`expr $try + 1`
  50. sleep 1
  51.  
  52. done
  53.  
  54. }
  55.  
  56. case "$1" in
  57. start)
  58. echo -n "Starting php-fpm "
  59.  
  60. $php_fpm_BIN --daemonize $php_opts
  61.  
  62. if [ "$?" != 0 ] ; then
  63. echo " failed"
  64. exit 1
  65. fi
  66.  
  67. wait_for_pid created $php_fpm_PID
  68.  
  69. if [ -n "$try" ] ; then
  70. echo " failed"
  71. exit 1
  72. else
  73. echo " done"
  74. fi
  75. ;;
  76.  
  77. stop)
  78. echo -n "Gracefully shutting down php-fpm "
  79.  
  80. if [ ! -r $php_fpm_PID ] ; then
  81. echo "warning, no pid file found - php-fpm is not running ?"
  82. exit 1
  83. fi
  84.  
  85. kill -QUIT `cat $php_fpm_PID`
  86.  
  87. wait_for_pid removed $php_fpm_PID
  88.  
  89. if [ -n "$try" ] ; then
  90. echo " failed. Use force-quit"
  91. exit 1
  92. else
  93. echo " done"
  94. fi
  95. ;;
  96.  
  97. force-quit)
  98. echo -n "Terminating php-fpm "
  99.  
  100. if [ ! -r $php_fpm_PID ] ; then
  101. echo "warning, no pid file found - php-fpm is not running ?"
  102. exit 1
  103. fi
  104.  
  105. kill -TERM `cat $php_fpm_PID`
  106.  
  107. wait_for_pid removed $php_fpm_PID
  108.  
  109. if [ -n "$try" ] ; then
  110. echo " failed"
  111. exit 1
  112. else
  113. echo " done"
  114. fi
  115. ;;
  116.  
  117. restart)
  118. $0 stop
  119. $0 start
  120. ;;
  121.  
  122. reload)
  123.  
  124. echo -n "Reload service php-fpm "
  125.  
  126. if [ ! -r $php_fpm_PID ] ; then
  127. echo "warning, no pid file found - php-fpm is not running ?"
  128. exit 1
  129. fi
  130.  
  131. kill -USR2 `cat $php_fpm_PID`
  132.  
  133. echo " done"
  134. ;;
  135.  
  136. *)
  137. echo "Usage: $0 {start|stop|force-quit|restart|reload}"
  138. exit 1
  139. ;;
  140.  
  141. esac
Advertisement
Add Comment
Please, Sign In to add comment