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学习笔记 面向对象的构造与析构方法
Jun 13 PHP
PHP url 加密解密函数代码
Aug 26 PHP
php数组函数序列之prev() - 移动数组内部指针到上一个元素的位置,并返回该元素值
Oct 31 PHP
ThinkPHP的模版中调用session数据的方法
Jul 01 PHP
Thinkphp中import的几个用法详细介绍
Jul 02 PHP
php计算两个坐标(经度,纬度)之间距离的方法
Apr 17 PHP
php生成图片验证码
Jun 09 PHP
使用PHP进行微信公众平台开发的示例
Aug 21 PHP
详解PHP的Yii框架中组件行为的属性注入和方法注入
Mar 18 PHP
php str_replace替换指定次数的方法详解
May 05 PHP
PHP实现的文件上传类与用法详解
Jul 05 PHP
Yii框架布局文件的动态切换操作示例
Nov 11 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
YII Framework框架教程之使用YIIC快速创建YII应用详解
2016/03/15 PHP
ThinkPHP删除栏目(实现批量删除栏目)
2017/06/21 PHP
WHOOPS PHP调试库的使用
2017/09/29 PHP
thinkPHP3.2.3结合Laypage实现的分页功能示例
2018/05/28 PHP
Swoole实现异步投递task任务案例详解
2019/04/02 PHP
一直复略了的一个问题,关于表单重复提交
2007/02/15 Javascript
jQuery live
2009/05/15 Javascript
window.event快达到全浏览器支持了,以后使用就方便了
2011/11/30 Javascript
Extjs实现进度条的两种便捷方式
2013/09/26 Javascript
javascript实现相同事件名称,不同命名空间的调用方法
2015/06/26 Javascript
JSON简介以及用法汇总
2016/02/21 Javascript
详解Angular的内置过滤器和自定义过滤器【推荐】
2016/12/26 Javascript
详解Vue组件之作用域插槽
2018/11/22 Javascript
validform表单验证的实现方法
2019/03/08 Javascript
vue 中 命名视图的用法实例详解
2019/08/14 Javascript
对Layer UI 模块化的用法详解
2019/09/26 Javascript
微信小程序iOS下拉白屏晃动问题解决方案
2019/10/12 Javascript
[06:40]2014DOTA2西雅图国际邀请赛 DK战队巡礼
2014/07/07 DOTA
Django中login_required装饰器的深入介绍
2017/11/24 Python
python爬虫scrapy框架的梨视频案例解析
2021/02/20 Python
Ootori在线按摩椅店:一家专业的按摩椅制造商
2019/04/10 全球购物
美丽的珠宝配饰:SmallThings
2019/09/04 全球购物
您在慕尼黑的跑步商店:Lauf-bar
2019/10/11 全球购物
Shell如何接收变量输入
2016/08/06 面试题
大学奖学金获奖感言
2014/08/15 职场文书
党员创先争优心得体会
2014/09/11 职场文书
2014年环保工作总结
2014/11/26 职场文书
小学教师自我评价
2015/03/04 职场文书
材料采购员岗位职责
2015/04/03 职场文书
贷款工资证明范本
2015/06/12 职场文书
消防宣传语大全
2015/07/13 职场文书
宾馆卫生管理制度
2015/08/06 职场文书
python numpy中multiply与*及matul 的区别说明
2021/05/26 Python
CSS中妙用 drop-shadow 实现线条光影效果
2021/11/11 HTML / CSS
简单聊聊Golang中defer预计算参数
2022/03/25 Golang
基于Redis6.2.6版本部署Redis Cluster集群的问题
2022/04/01 Redis