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简单静态页生成过程
Mar 27 PHP
解析php中session的实现原理以及大网站应用应注意的问题
Jun 17 PHP
php function用法如何递归及return和echo区别
Mar 07 PHP
php无限极分类递归排序实现方法
Nov 11 PHP
php解析http获取的json字符串变量总是空白null
Mar 02 PHP
PHP基于工厂模式实现的计算器实例
Jul 16 PHP
对PHP依赖注入的理解实例分析
Oct 09 PHP
Yii1.1中通过Sql查询进行的分页操作方法
Mar 16 PHP
PHP 进度条函数的简单实例
Sep 19 PHP
PHP连接MySQL数据库并以json格式输出
May 21 PHP
Laravel+Intervention实现上传图片功能示例
Jul 09 PHP
Laravel 简单实现Ajax滚动加载示例
Oct 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中将汉字转换成拼音的函数代码
2012/09/08 PHP
php安装swoole扩展的方法
2015/03/19 PHP
js活用事件触发对象动作
2008/08/10 Javascript
js模仿windows桌面图标排列算法具体实现(附图)
2013/06/16 Javascript
jquery的attr方法禁用表单元素禁用输入内容
2014/06/23 Javascript
js如何判断输入字符串长度
2015/12/16 Javascript
jQuery Mobile页面返回不需要重新get
2016/04/26 Javascript
Javascript获取background属性中url的值
2016/10/17 Javascript
jQuery图片轮播功能实例代码
2017/01/29 Javascript
JavaScript函数节流和函数防抖之间的区别
2017/02/15 Javascript
js canvas实现适用于移动端的百分比仪表盘dashboard
2017/07/18 Javascript
常用的 JS 排序算法 整理版
2018/04/05 Javascript
最后说说Vue2 SSR 的 Cookies 问题
2018/05/25 Javascript
解决layui上传文件提示上传异常,实际文件已经上传成功的问题
2018/08/19 Javascript
Node.js中读取TXT文件内容fs.readFile()用法
2018/10/10 Javascript
node Buffer缓存区常见操作示例
2019/05/04 Javascript
js实现文章目录索引导航(table of content)
2020/05/10 Javascript
vue项目接口管理,所有接口都在apis文件夹中统一管理操作
2020/08/13 Javascript
js实现可爱的气泡特效
2020/09/05 Javascript
[02:40]DOTA2英雄基础教程 炼金术士
2013/12/23 DOTA
python实现简单的TCP代理服务器
2014/10/08 Python
python读取中文txt文本的方法
2018/04/12 Python
python的xpath获取div标签内html内容,实现innerhtml功能的方法
2019/01/02 Python
Python 实现文件打包、上传与校验的方法
2019/02/13 Python
基于pycharm实现批量修改变量名
2020/06/02 Python
python右对齐的实例方法
2020/07/05 Python
PyCharm最新激活码(2020/10/27全网最新)
2020/10/27 Python
matplotlib绘制正余弦曲线图的实现
2021/02/22 Python
CSS3中的display:grid,网格布局介绍
2019/10/30 HTML / CSS
html5的画布canvas——画出弧线、旋转的图形实例代码+效果图
2013/06/09 HTML / CSS
办公室前台的岗位职责
2013/12/20 职场文书
护士实习鉴定范文
2013/12/22 职场文书
化工专业大学生职业生涯规划书
2014/01/14 职场文书
运动会开幕式邀请函
2014/02/03 职场文书
暑假打工感想
2015/08/07 职场文书
《遗弃》开发商删推文要跑路?官方回应:还在开发
2022/04/03 其他游戏