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 11 PHP
PHP的一个基础知识 表单提交
Jul 04 PHP
PHP连接SQLServer2005的实现方法(附ntwdblib.dll下载)
Jul 02 PHP
thinkphp 多表 事务详解
Jun 17 PHP
codeigniter教程之多文件上传使用示例
Feb 11 PHP
叫你如何修改Nginx与PHP的文件上传大小限制
Sep 10 PHP
php实现的读取CSV文件函数示例
Feb 07 PHP
Thinkphp实现站点静态化的方法详解
Mar 21 PHP
LAMP环境使用Composer安装Laravel的方法
Mar 25 PHP
tp5框架使用composer实现日志记录功能示例
Jan 10 PHP
实现laravel 插入操作日志到数据库的方法
Oct 11 PHP
PHP生成随机密码4种方法及性能对比
Dec 11 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
10条PHP编程习惯助你找工作
2008/09/29 PHP
php 获取一个月第一天与最后一天的代码
2010/05/16 PHP
THINKPHP项目开发中的日志记录实例分析
2014/12/01 PHP
PHP7新增运算符用法实例分析
2016/09/26 PHP
PHP如何使用JWT做Api接口身份认证的实现
2020/02/03 PHP
Thinkphp框架+Layui实现图片/文件上传功能分析
2020/02/07 PHP
json 入门基础教程 推荐
2009/10/31 Javascript
jquery中val()方法是从最后一个选项往前读取的
2015/09/06 Javascript
浅谈JavaScript对象的创建方式
2016/06/13 Javascript
关于Iframe父页面与子页面之间的相互调用
2016/11/22 Javascript
Bootstrap 网格系统布局详解
2017/03/19 Javascript
JS中Safari浏览器中的Date
2017/07/17 Javascript
简单实现节流函数和防抖函数过程解析
2019/10/08 Javascript
js+canvas实现两张图片合并成一张图片的方法
2019/11/01 Javascript
微信跳一跳python自动代码解读1.0
2018/01/12 Python
Python中py文件引用另一个py文件变量的方法
2018/04/29 Python
matplotlib subplots 设置总图的标题方法
2018/05/25 Python
python pandas 对series和dataframe的重置索引reindex方法
2018/06/07 Python
python爬虫增加访问量的方法
2019/08/22 Python
python使用正则表达式(Regular Expression)方法超详细
2019/12/30 Python
使用TFRecord存取多个数据案例
2020/02/17 Python
python 安装库几种方法之cmd,anaconda,pycharm详解
2020/04/08 Python
html5指南-3.如何实现html元素拖拽功能
2013/01/07 HTML / CSS
全球精选男装和家居用品:Article
2020/04/13 全球购物
JDO的含义
2012/11/17 面试题
.NET方向面试题
2014/11/20 面试题
打架检讨书800字
2014/01/10 职场文书
电台编导求职信
2014/05/06 职场文书
2015年毕业生自我鉴定模板
2014/09/19 职场文书
乡镇领导干部个人对照检查材料思想汇报
2014/09/23 职场文书
一个都不能少观后感
2015/06/04 职场文书
培训心得体会怎么写
2016/01/25 职场文书
创业计划书之餐饮
2019/09/02 职场文书
详细介绍python操作RabbitMq
2022/04/12 Python
在SQL Server中使用 Try Catch 处理异常的示例详解
2022/07/15 SQL Server
MySQL中TIMESTAMP类型返回日期时间数据中带有T的解决
2022/12/24 MySQL