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 20 PHP
php self,$this,const,static,->的使用
Oct 22 PHP
php使用exec shell命令注入的方法讲解
Nov 12 PHP
php GUID生成函数和类
Mar 10 PHP
PHP中4个加速、缓存扩展的区别和选用建议
Mar 12 PHP
php静态文件生成类实例分析
Jan 03 PHP
深入浅析php中sprintf与printf函数的用法及区别
Jan 08 PHP
PHP操作FTP类 (上传、下载、移动、创建等)
Mar 31 PHP
PHP中多线程的两个实现方法
Oct 14 PHP
PHP实现判断数组是一维、二维或几维的方法
Feb 06 PHP
Laravel核心解读之异常处理的实践过程
Feb 24 PHP
PHP数据源架构模式之表入口模式实例分析
Jan 23 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生成excel时单元格内换行问题的解决方法
2010/08/26 PHP
用javascript动态调整iframe高度的代码
2007/04/10 Javascript
JQuery扩展插件Validate 2通过参数设置验证规则
2011/09/05 Javascript
推荐40个非常优秀的jQuery插件和教程【系列三】
2011/11/09 Javascript
深入理解JavaScript系列(11) 执行上下文(Execution Contexts)
2012/01/15 Javascript
document.getElementById获取控件对象为空的解决方法
2013/11/20 Javascript
基于Jquery实现键盘按键监听
2014/05/11 Javascript
JavaScript中的比较操作符>、=、
2014/12/31 Javascript
javascript入门教程基础篇
2015/11/16 Javascript
JS控制按钮10秒钟后可用的方法
2015/12/22 Javascript
Vue.js常用指令之循环使用v-for指令教程
2017/06/27 Javascript
微信小程序后台解密用户数据实例详解
2017/06/28 Javascript
React复制到剪贴板的示例代码
2017/08/22 Javascript
详解ES6之async+await 同步/异步方案
2017/09/19 Javascript
详解如何使用webpack在vue项目中写jsx语法
2017/11/08 Javascript
Express进阶之log4js实用入门指南
2018/02/10 Javascript
微信小程序scroll-x失效的完美解决方法
2018/07/18 Javascript
JS数组Object.keys()方法的使用示例
2019/06/05 Javascript
layui复选框限制选择个数的方法
2019/09/18 Javascript
Js Snowflake(雪花算法)生成随机ID的实现方法
2020/08/26 Javascript
微信小程序canvas实现签名功能
2021/01/19 Javascript
[11:01]2014DOTA2西雅图邀请赛 冷冷带你探秘威斯汀
2014/07/08 DOTA
Python常用模块介绍
2014/11/21 Python
python3.5使用tkinter制作记事本
2016/06/20 Python
python通过百度地图API获取某地址的经纬度详解
2018/01/28 Python
Python使用matplotlib绘制随机漫步图
2018/08/27 Python
Python 中包/模块的 `import` 操作代码
2019/04/22 Python
Python求两个字符串最长公共子序列代码实例
2020/03/05 Python
Python实现http接口自动化测试的示例代码
2020/10/09 Python
让IE9以下版本的浏览器兼容HTML5的方法
2014/03/12 HTML / CSS
芬兰汽车配件商店:Autonvaraosat24
2017/01/30 全球购物
意大利奢侈品综合电商网站:MODES
2019/12/14 全球购物
有模特经验的简历自我评价
2013/09/19 职场文书
如何解决.cuda()加载用时很长的问题
2021/05/24 Python
教你快速构建一个基于nginx的web集群项目
2021/11/27 Servers
Win10鼠标轨迹怎么开 Win10显示鼠标轨迹方法
2022/04/06 数码科技