這篇文章主要介紹了php-fpm服務啟動指令碼的方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
這個我自己在用,沒問題,有三個path需要自己酌情修改。
先建立自開機檔案:/etc/init.d/php-fpm
內容如下:
#! /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 INFOprefix=/usr/local/phpexec_prefix=${prefix}php_fpm_BIN=${exec_prefix}/sbin/php-fpmphp_fpm_CONF=${prefix}/etc/php-fpm.confphp_fpm_PID=${prefix}/var/run/php-fpm.pidphp_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
配置php-fpm服務
# 設定許可權chmod 755 /etc/init.d/php-fpm# php-fpm加入服務chkconfig --add php-fpm# php-fpm 234層級下設定為啟動chkconfig php-fpm on# 查看php-fpm服務當前配置chkconfig --list php-fpmphp-fpm 0:off 1:off 2:on 3:on 4:on 5:on 6:off
php-fpm使用方法
# 啟動service php-fpm start# 關閉service php-fpm stop# 重啟service php-fpm restart# 重載service php-fpm reload#檢查設定檔service php-fpm configtest
指令碼說明
# Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network
以上量行代碼有人會疑問他們到底是做什麼的,'.'是source類似於程式中的include和require,將functions裡面的方法全部倒入到這邊,這邊程式便可以使用,例如這邊用到的daemon、status。第二行的network實際上就幾行,如下
NETWORKING=yesHOSTNAME=E10162
將他們作為變數賦值,判斷網卡是否啟動,如果你的nginx不走網卡,其實網路這段可以去掉.
/etc/init.d/php-fpm
總結
以上所述是小編給大家介紹的php-fpm服務啟動指令碼的方法,希望對大家有所協助,如果大家有任何疑問請給我留言,小編會及時回複大家的。在此也非常感謝大家對php中文網的支援!
您可能感興趣的文章:
PHP四種排序演算法實現及效率分析_php技巧
PHP擷取副檔名的常用方法小結php技巧
PHP使用Curl實現類比登入及抓取資料功能樣本php技巧