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中判断一个请求是ajax请求还是普通请求的方法
Jun 28 PHP
php中截取中文字符串的代码小结
Jul 17 PHP
php 网上商城促销设计实例代码
Feb 17 PHP
PHP提示Notice: Undefined variable的解决办法
Nov 24 PHP
在Ubuntu 14.04上部署 PHP 环境及 WordPress
Sep 02 PHP
PHP中new static() 和 new self() 的区别介绍
Jan 09 PHP
Symfony2使用第三方库Upload制作图片上传实例详解
Feb 04 PHP
WordPress中的shortcode短代码功能使用详解
May 17 PHP
php关联数组与索引数组及其显示方法
Mar 12 PHP
提高Laravel应用性能方法详解
Jun 24 PHP
laravel-admin解决表单select联动时,编辑默认没选上的问题
Sep 30 PHP
laravel 获取某个查询的查询SQL语句方法
Oct 12 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
AM/FM收音机的安装与调试
2021/03/02 无线电
模拟flock实现文件锁定
2007/02/14 PHP
PHP简单操作MongoDB的方法(安装及增删改查)
2016/05/26 PHP
thinkPHP5实现数据库添加内容的方法
2017/10/25 PHP
JavaScript入门之事件、cookie、定时等
2011/10/21 Javascript
jquery 插件学习(二)
2012/08/06 Javascript
Javascript中的包装类型介绍
2015/04/02 Javascript
javascript实现了照片拖拽点击置顶的照片墙代码
2015/04/03 Javascript
再谈Javascript中的基本类型和引用类型(推荐)
2016/07/01 Javascript
js获取上传文件的绝对路径实现方法
2016/08/02 Javascript
js中常用的Tab切换效果(推荐)
2016/08/30 Javascript
分享一个原生的JavaScript拖动方法
2016/09/25 Javascript
vue2.x select2 指令封装详解
2017/10/12 Javascript
vue使用element-ui的el-input监听不了回车事件的解决方法
2018/01/12 Javascript
JavaScript fetch接口案例解析
2018/08/30 Javascript
使用Angular Cli如何创建Angular私有库详解
2019/01/30 Javascript
Vue动画事件详解及过渡动画实例
2019/02/09 Javascript
vuex存值与取值的实例
2019/11/06 Javascript
JavaScript/TypeScript 实现并发请求控制的示例代码
2021/01/18 Javascript
ReactRouter的实现方法
2021/01/25 Javascript
符合语言习惯的 Python 优雅编程技巧【推荐】
2018/09/25 Python
python子线程退出及线程退出控制的代码
2019/10/16 Python
Django模型中字段属性choice使用说明
2020/03/30 Python
python自动生成证件号的方法示例
2021/01/14 Python
H5仿微信界面教程(一)
2017/07/05 HTML / CSS
加拿大女鞋品牌:ALDO
2016/11/13 全球购物
Charlotte Tilbury英国官网:英国彩妆品牌
2017/05/26 全球购物
linux面试题参考答案(3)
2012/09/13 面试题
办公文员的工作岗位职责
2013/11/12 职场文书
优秀老师事迹材料
2014/02/05 职场文书
亲子拓展活动方案
2014/02/20 职场文书
2014年社区国庆节活动方案
2014/09/16 职场文书
四大名著读书笔记
2015/06/25 职场文书
大学生受助感言
2015/08/01 职场文书
JavaScript实现栈结构详细过程
2021/12/06 Javascript
python如何读取和存储dict()与.json格式文件
2022/06/25 Python