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中使用与Perl兼容的正则表达式
Nov 26 PHP
五个PHP程序员工具
May 26 PHP
PHP 简单数组排序实现代码
Aug 05 PHP
PHP strtotime函数详解
Dec 18 PHP
mysql 查询指定日期时间内sql语句实现原理与代码
Dec 16 PHP
基于python发送邮件的乱码问题的解决办法
Apr 25 PHP
php计算几分钟前、几小时前、几天前的几个函数、类分享
Apr 09 PHP
CI框架学习笔记(一) - 环境安装、基本术语和框架流程
Oct 26 PHP
PHP使用标准库spl实现的观察者模式示例
Aug 04 PHP
Laravel使用原生sql语句并调用的方法
Oct 09 PHP
Laravel修改验证提示信息为中文的示例
Oct 23 PHP
TP5框架页面跳转样式操作示例
Apr 05 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实现HTML生成PDF文件的方法
2014/11/07 PHP
PHP实现动态web服务器方法
2015/07/29 PHP
php魔法函数与魔法常量使用介绍
2017/07/23 PHP
怎么选择Javascript框架(Javascript Framework)
2013/11/22 Javascript
Javascript遍历table中的元素示例代码
2014/07/08 Javascript
使用时间戳解决ie缓存的问题
2014/08/20 Javascript
js数组去重的方法汇总
2015/07/29 Javascript
jQuery动画效果图片轮播特效
2016/01/12 Javascript
手把手搭建安装基于windows的Vue.js运行环境
2017/06/12 Javascript
微信小程序实现的贪吃蛇游戏【附源码下载】
2018/01/03 Javascript
浅谈如何通过node.js对数据进行MD5加密
2018/05/16 Javascript
详解从0开始搭建微信小程序(前后端)的全过程
2019/04/15 Javascript
详解微信小程序的不同函数调用的几种方法
2019/05/08 Javascript
解决vue中的无限循环问题
2020/07/27 Javascript
JavaScript手写数组的常用函数总结
2020/11/22 Javascript
[03:40]DOTA2亚洲邀请赛小组赛第二日 赛事回顾
2015/01/31 DOTA
[03:26]回顾2015国际邀请赛中国区预选赛
2015/06/09 DOTA
简单说明Python中的装饰器的用法
2015/04/24 Python
详解Python中的各种函数的使用
2015/05/24 Python
python使用matplotlib绘制折线图教程
2017/02/08 Python
Python实现mysql数据库更新表数据接口的功能
2017/11/19 Python
微信跳一跳游戏python脚本
2020/04/01 Python
Python2.7.10以上pip更新及其他包的安装教程
2018/06/12 Python
python之super的使用小结
2018/08/13 Python
解决pycharm下os.system执行命令返回有中文乱码的问题
2019/07/07 Python
django商品分类及商品数据建模实例详解
2020/01/03 Python
带你彻底搞懂python操作mysql数据库(cursor游标讲解)
2020/01/06 Python
Keras官方中文文档:性能评估Metrices详解
2020/06/15 Python
pyqt5实现井字棋的示例代码
2020/12/07 Python
Python实现Kerberos用户的增删改查操作
2020/12/14 Python
深入浅出CSS3 background-clip,background-origin和border-image教程
2011/01/27 HTML / CSS
爱尔兰领先的在线体育用品零售商:theGAAstore
2018/04/16 全球购物
《邮票齿孔的故事》教学反思
2014/02/22 职场文书
2015年行政部工作总结
2015/04/28 职场文书
烛光里的微笑观后感
2015/06/17 职场文书
python基于tkinter制作下班倒计时工具
2021/04/28 Python