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 表单提交给自己
Jul 24 PHP
PHP Smarty生成EXCEL文档的代码
Aug 23 PHP
PHP定时执行计划任务的多种方法小结
Dec 19 PHP
50个PHP程序性能优化的方法
Jun 02 PHP
PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别
Sep 29 PHP
在Mac OS上搭建Nginx+PHP+MySQL开发环境的教程
Dec 21 PHP
PHP MSSQL 分页实例
Apr 13 PHP
PHP+Ajax 检测网络是否正常实例详解
Dec 16 PHP
数组任意位置插入元素,删除特定元素的实例
Mar 02 PHP
PHP 序列化和反序列化函数实例详解
Jul 18 PHP
php 删除一维数组中某一个值元素的操作方法
Feb 01 PHP
php多进程应用场景实例详解
Jul 22 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实现删除非站内外部链接实例代码
2014/06/17 PHP
php的mkdir()函数创建文件夹比较安全的权限设置方法
2014/07/28 PHP
在Mac OS的PHP环境下安装配置MemCache的全过程解析
2016/02/15 PHP
PHP使用mysql与mysqli连接Mysql数据库用法示例
2016/07/07 PHP
使用php自动备份数据库表的实现方法
2017/07/28 PHP
Laravel 实现数据软删除功能
2019/08/21 PHP
基于JQuery的简单实现折叠菜单代码
2010/09/15 Javascript
如何确保JavaScript的执行顺序 之jQuery.html并非万能钥匙
2011/03/03 Javascript
input 输入框获得/失去焦点时隐藏/显示文字(jquery版)
2013/04/02 Javascript
js 限制input只能输入数字、字母和汉字等等
2013/12/18 Javascript
基于jquery实现即时检查格式是否正确的表单
2016/05/06 Javascript
js轮盘抽奖实例分析
2020/04/17 Javascript
jQuery Mobile和HTML5开发App推广注册页
2016/11/07 Javascript
微信小程序之小豆瓣图书实例
2016/11/30 Javascript
微信小程序 Template详解及简单实例
2017/01/05 Javascript
Vue.js结合Ueditor富文本编辑器的实例代码
2017/07/11 Javascript
Vue2.0+ElementUI实现表格翻页的实例
2017/10/23 Javascript
vue-router权限控制(简单方式)
2018/10/29 Javascript
jquery的$().each和$.each的区别
2019/01/18 jQuery
vue组件之间数据传递的方法实例分析
2019/02/12 Javascript
Vue项目从webpack3.x升级webpack4不完全指南
2019/04/28 Javascript
通过实例了解Javascript柯里化流程
2020/03/03 Javascript
JQuery实现折叠式菜单的详细代码
2020/06/03 jQuery
python创建只读属性对象的方法(ReadOnlyObject)
2013/02/10 Python
跟老齐学Python之通过Python连接数据库
2014/10/28 Python
探究Python的Tornado框架对子域名和泛域名的支持
2015/05/02 Python
Python作用域用法实例详解
2016/03/15 Python
Python实现将Excel转换成xml的方法示例
2018/08/25 Python
PyGame贪吃蛇的实现代码示例
2018/11/21 Python
Django接收post前端返回的json格式数据代码实现
2019/07/31 Python
给男朋友的道歉信
2014/01/12 职场文书
电脑专业个人求职信范文
2014/02/04 职场文书
初中军训感想300字
2014/03/05 职场文书
疾病捐款倡议书
2014/05/13 职场文书
2014年领导班子专项整治整改方案
2014/09/28 职场文书
2016年优秀教师先进事迹材料
2016/02/26 职场文书