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 相关文章推荐
DOMXML函数笔记
Oct 09 PHP
为php4加入动态flash文件的生成的支持
Oct 09 PHP
CURL状态码列表(详细)
Jun 27 PHP
浅谈web上存漏洞及原理分析、防范方法(安全文件上存方法)
Jun 29 PHP
php实现上传图片生成缩略图示例
Apr 13 PHP
php中解析带中文字符的url函数分享
Jan 20 PHP
将PHP程序中返回的JSON格式数据用gzip压缩输出的方法
Mar 03 PHP
php外部执行命令函数用法小结
Oct 11 PHP
PHP基于方差和标准差计算学生成绩的稳定性示例
Jul 04 PHP
Laravel构建即时应用的一种实现方法详解
Aug 31 PHP
PHP使用PDO抽象层获取查询结果的方法示例
May 10 PHP
CentOS7编译安装php7.1的教程详解
Apr 18 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数据库抽象层 PDO
2011/05/07 PHP
PHP 类相关函数的使用详解
2013/05/10 PHP
浅谈web上存漏洞及原理分析、防范方法(文件名检测漏洞)
2013/06/29 PHP
PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
2014/03/17 PHP
ThinkPHP连接数据库及主从数据库的设置教程
2014/08/22 PHP
PHP连接sftp并下载文件的方法教程
2018/08/26 PHP
JavaScript入门教程(5) js Screen屏幕对象
2009/01/31 Javascript
javascript 字符 Escape,encodeURI,encodeURIComponent
2009/07/09 Javascript
JS高级调试技巧:捕获和分析 JavaScript Error详解
2014/03/16 Javascript
sogou地图API用法实例教程
2014/09/11 Javascript
JS+CSS实现自动切换的网页滑动门菜单效果代码
2015/09/14 Javascript
Backbone View 之间通信的三种方式
2016/08/09 Javascript
详解Webpack+Babel+React开发环境的搭建的方法步骤
2018/01/09 Javascript
基于vue.js无缝滚动效果
2018/01/25 Javascript
浅谈用Webpack路径压缩图片上传尺寸获取的问题
2018/02/22 Javascript
对angular4子路由&辅助路由详解
2018/10/09 Javascript
layer更改皮肤的实现方法
2019/09/11 Javascript
Vue 实现从小到大的横向滑动效果详解
2019/10/16 Javascript
vue.js实现简单的计算器功能
2020/02/22 Javascript
jQuery实现点击滚动到指定元素上的方法分析
2020/03/19 jQuery
js实现带有动画的返回顶部
2020/08/09 Javascript
使用python编写android截屏脚本双击运行即可
2014/07/21 Python
Python 机器学习库 NumPy入门教程
2018/04/19 Python
Python函数中不定长参数的写法
2019/02/13 Python
python右对齐的实例方法
2020/07/05 Python
曼联官方网上商店:Manchester United Direct
2017/07/28 全球购物
机电一体化专业应届本科生求职信
2013/09/27 职场文书
幼教毕业生自我鉴定
2014/01/12 职场文书
司法建议书范文
2014/05/13 职场文书
新闻发布会策划方案
2014/06/12 职场文书
心理咨询专业自荐信
2014/07/07 职场文书
创先争优演讲稿
2014/09/15 职场文书
2014年学校教学工作总结
2014/12/06 职场文书
中国文明网2015年“向国旗敬礼”活动网上签名寄语
2015/09/24 职场文书
Java SSM配置文件案例详解
2021/08/30 Java/Android
讲解MySQL增删改操作
2022/05/06 MySQL