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 相关文章推荐
php面向对象全攻略 (十二) 抽象方法和抽象类
Sep 30 PHP
php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
Sep 07 PHP
PHP正则表达式替换站点关键字链接后空白的解决方法
Sep 16 PHP
php实现的双向队列类实例
Sep 24 PHP
PHP判断一个gif图片是否为动态图片的方法
Nov 19 PHP
php中使用url传递数组的方法
Feb 11 PHP
php使用PDO事务配合表格读取大量数据插入操作实现方法
Feb 16 PHP
替换php字符串中的单引号为双引号的方法
Feb 16 PHP
php调用云片网接口发送短信的实现方法
Oct 25 PHP
php实现算术验证码功能
Dec 05 PHP
phpStudy vscode 搭建debug调试的教程详解
Jul 28 PHP
PHP7 错误处理机制修改
Mar 09 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
短波的认识
2021/03/01 无线电
PHP 文件上传全攻略
2010/04/28 PHP
PHP 杂谈《重构-改善既有代码的设计》之五 简化函数调用
2012/05/07 PHP
php异常处理捕获错误整理
2019/09/23 PHP
JavaScript DOM 学习第五章 表单简介
2010/02/19 Javascript
来自国外的14个图片放大编辑的jQuery插件整理
2010/10/20 Javascript
js获取指定日期周数以及星期几的小例子
2014/06/27 Javascript
jQuery中offset()方法用法实例
2015/01/16 Javascript
JavaScript中的getDay()方法使用详解
2015/06/09 Javascript
JS短信验证码倒计时功能的实现(没有验证码,只有倒计时)
2016/10/27 Javascript
基于MVC方式实现三级联动(JavaScript)
2017/01/23 Javascript
AngularJS实现根据不同条件显示不同控件
2017/04/20 Javascript
Nodejs读取文件时相对路径的正确写法(使用fs模块)
2017/04/27 NodeJs
详解AngularJS1.6版本中ui-router路由中/#!/的解决方法
2017/05/22 Javascript
iscroll.js滚动加载实例详解
2017/07/18 Javascript
Vue组件通信之Bus的具体使用
2017/12/28 Javascript
web前端vue实现插值文本和输出原始html
2018/01/19 Javascript
关于vue的语法规则检测报错问题的解决
2018/05/21 Javascript
浅谈Angular7 项目开发总结
2018/12/19 Javascript
详解vue beforeRouteEnter 异步获取数据给实例问题
2019/08/09 Javascript
[58:15]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 NB vs Liquid
2018/04/02 DOTA
[19:26]TNC vs EG (BO3)
2018/06/07 DOTA
Python3.6简单反射操作示例
2018/06/14 Python
PyQt5+requests实现车票查询工具
2019/01/21 Python
python设置环境变量的原因和方法
2019/06/24 Python
浅谈Python 递归算法指归
2019/08/22 Python
Python模块/包/库安装的六种方法及区别
2020/02/24 Python
纽约复古灵感的现代珠宝品牌:Lulu Frost
2018/03/03 全球购物
法国最大电子商务平台:Cdiscount
2018/03/13 全球购物
商务助理岗位职责
2013/11/13 职场文书
煤矿安全生产责任书
2014/04/15 职场文书
三分钟自我介绍演讲稿
2014/08/21 职场文书
怎样写离婚协议书
2015/01/26 职场文书
自主招生学校推荐信范文
2015/03/26 职场文书
行政介绍信范文
2015/05/04 职场文书
利用Matlab绘制各类特殊图形的实例代码
2021/07/16 Python