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


Posted in PHP onApril 27, 2018

这个我自己在用,没问题,有三个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服务启动脚本的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
分页显示Oracle数据库记录的类之二
Oct 09 PHP
动态网站web开发 PHP、ASP还是ASP.NET
Oct 09 PHP
一个PHP验证码类代码分享(已封装成类)
Jul 17 PHP
PHP实现AES256加密算法实例
Sep 22 PHP
php返回json数据函数实例
Oct 09 PHP
PHP文件上传判断file是否己选择上传文件的方法
Nov 10 PHP
smarty模板引擎中内建函数if、elseif和else的使用方法
Jan 22 PHP
PHP实现多文件上传的方法
Jul 08 PHP
学习php设计模式 php实现原型模式(prototype)
Dec 07 PHP
Zend Framework过滤器Zend_Filter用法详解
Dec 09 PHP
php异步:在php中使用fsockopen curl实现类似异步处理的功能方法
Dec 10 PHP
浅谈PHP进程管理
Mar 08 PHP
php-fpm添加service服务的例子
Apr 27 #PHP
laravel 5.4 + vue + vux + element的环境搭配过程介绍
Apr 26 #PHP
PHP分享图片的生成方法
Apr 25 #PHP
PHP receiveMail实现收邮件功能
Apr 25 #PHP
laravel中短信发送验证码的实现方法
Apr 25 #PHP
PHP设计模式之适配器模式原理与用法分析
Apr 25 #PHP
PHP设计模式之原型设计模式原理与用法分析
Apr 25 #PHP
You might like
PHP里的中文变量说明
2011/07/23 PHP
搭建基于Docker的PHP开发环境的详细教程
2015/07/01 PHP
JavaScript 继承的实现
2009/07/09 Javascript
jquery 事件对象属性小结
2010/04/27 Javascript
JavaScript 原型学习总结
2010/10/29 Javascript
一些javascript一些题目的解析
2010/12/25 Javascript
40款非常棒的jQuery 插件和制作教程(系列二)
2011/11/02 Javascript
手机端网页点击链接触发自动拨打或保存电话的示例代码
2014/08/15 Javascript
详解JavaScript中getFullYear()方法的使用
2015/06/10 Javascript
JavaScript对象学习小结
2015/09/02 Javascript
javascript单页面手势滑屏切换原理详解
2016/03/21 Javascript
js和jQuery以及easyui实现对下拉框的指定赋值方法
2018/01/23 jQuery
Angularjs中date过滤器失效的问题及解决方法
2018/07/06 Javascript
Nuxt.js SSR与权限验证的实现
2018/11/21 Javascript
详解VUE前端按钮权限控制
2019/04/26 Javascript
JS获取本地地址及天气的方法实例小结
2019/05/10 Javascript
node 标准输入流和输出流代码实例
2019/09/19 Javascript
JavaScript鼠标拖拽事件详解
2020/04/03 Javascript
nuxt引入组件和公共样式的操作
2020/11/05 Javascript
vue使用exif获取图片旋转,压缩的示例代码
2020/12/11 Vue.js
Python中的一些陷阱与技巧小结
2015/07/10 Python
简单的python后台管理程序
2017/04/13 Python
python实现函数极小值
2019/07/10 Python
通过实例简单了解Python中yield的作用
2019/12/11 Python
python用opencv 图像傅里叶变换
2021/01/04 Python
英国著名音像制品和图书游戏购物网站:Zavvi
2016/08/04 全球购物
香港时装购物网站:ZALORA香港
2017/04/23 全球购物
简单的JAVA编程面试题
2013/03/19 面试题
农业资源与环境专业自荐信范文
2013/12/30 职场文书
预备党员承诺书
2014/03/25 职场文书
小学爱国卫生月活动总结
2014/06/30 职场文书
幼儿园大班见习报告
2014/10/31 职场文书
入党积极分子半年考察意见
2015/06/02 职场文书
开学典礼观后感
2015/06/15 职场文书
创业计划书之游泳馆
2019/09/16 职场文书
PhpSpreadsheet中文文档 | Spreadsheet操作教程实例
2021/04/01 PHP