php-fpm服务启动脚本的方法

 更新时间:2018年04月27日 08:53:26   作者:格先生  
这篇文章主要介绍了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 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

配置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-fpm
php-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=yes
HOSTNAME=E10162

将他们作为变量赋值,判断网卡是否启动,如果你的nginx不走网卡,其实网络这段可以去掉.

/etc/init.d/php-fpm

总结

以上所述是小编给大家介绍的php-fpm服务启动脚本的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • YII框架中搜索分页jQuery写法详解

    YII框架中搜索分页jQuery写法详解

    这篇文章主要介绍了YII框架中搜索分页jQuery写法详解的相关资料,需非常不错,具有参考借鉴价值,要的朋友可以参考下
    2016-12-12
  • Yii框架用户登录session丢失问题解决方法

    Yii框架用户登录session丢失问题解决方法

    这篇文章主要介绍了Yii框架用户登录session丢失问题解决方法,通过针对底层代码的修改解决session丢失问题,具有一定参考借鉴价值,需要的朋友可以参考下
    2017-01-01
  • yii2.0实现验证用户名与邮箱功能

    yii2.0实现验证用户名与邮箱功能

    这篇文章主要介绍了yii2.0实现验证用户名与邮箱功能的相关资料,需要的朋友可以参考下
    2015-12-12
  • PHP微信开发之文本自动回复

    PHP微信开发之文本自动回复

    这篇文章主要为大家详细介绍了PHP微信开发之简单实现文本自动回复的相关资料,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • PHP用Session实现用户登陆功能

    PHP用Session实现用户登陆功能

    Session 是存储在服务器端的会话,相对安全,并且不像 Cookie 那样有存储长度限制。由于 Session 是以文本文件形式存储在服务器端的,所以不怕远程用户修改 Session 内容。这篇文章主要介绍了PHP用Session实现用户登陆功能,需要的朋友可以参考下
    2022-12-12
  • 批量去除PHP文件中bom的PHP代码

    批量去除PHP文件中bom的PHP代码

    今天搜索查看网页源码时为什么开头会有空行这个问题时找到的,批量去除PHP文件中bom的PHP代码
    2012-03-03
  • PHP判断字符串长度的两种方法很实用

    PHP判断字符串长度的两种方法很实用

    这篇文章主要介绍了PHP判断字符串长度的相关资料,需要的朋友可以参考下
    2015-09-09
  • Windows中使用计划任务自动执行PHP程序实例

    Windows中使用计划任务自动执行PHP程序实例

    相信不少读者(PHP爱好者)在工作、学习的过程中经常抱怨:在WIN如何让PHP定时自动发信呢??如何让MYSQL实现自动备份而无后顾之忧呢??如 果完全依靠手工进行当然也可以实现,但操作上似乎过于繁琐了一点!别着急,利用系统的任务计划程序(Windows 98称之为计划任务)可轻易解决这一问题。这一功能往往被很多用户忽略或者未曾想到:)
    2014-05-05
  • php操作csv文件代码实例汇总

    php操作csv文件代码实例汇总

    这篇文章主要介绍了php操作csv文件代码实例汇总,本文给出6个操作CSV文件的代码实例,包括读取、写入、读取指定区间等,需要的朋友可以参考下
    2014-09-09
  • 分享PHP源码批量抓取远程网页图片并保存到本地的实现方法

    分享PHP源码批量抓取远程网页图片并保存到本地的实现方法

    本篇文章给大家分享PHP源码批量抓取远程网页图片并保存到本地的实现方法,对批量抓取网页图片相关知识感兴趣的朋友一起学习吧
    2015-12-12

最新评论