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之第四天
Oct 09 PHP
IIS下PHP连接数据库提示mysql undefined function mysql_connect()
Jun 04 PHP
fleaphp crud操作之findByField函数的使用方法
Apr 23 PHP
深入eAccelerator与memcached的区别详解
Jun 06 PHP
深入apache host的配置详解
Jun 09 PHP
php生成N个不重复的随机数实例
Nov 12 PHP
phpphp图片采集后按原路径保存图片示例
Feb 18 PHP
PHP5.5和之前的版本empty函数的不同之处
Jun 13 PHP
php数组添加元素方法小结
Dec 20 PHP
laravel中的一些简单实用功能
Nov 03 PHP
tp5(thinkPHP5)框架实现多数据库查询的方法
Jan 10 PHP
PHP编程一定要改掉的5个不良习惯
Sep 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
Zerg建筑一览
2020/03/14 星际争霸
PHP在网页中动态生成PDF文件详细教程
2014/07/05 PHP
php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比
2015/04/14 PHP
基于php的CMS中展示文章类实例分析
2015/06/18 PHP
JXTree对象,读取外部xml文件数据,生成树的函数
2007/04/02 Javascript
jquery+json实现的搜索加分页效果
2010/03/31 Javascript
基于jquery的防止大图片撑破页面的实现代码(立即缩放)
2011/10/24 Javascript
js动态给table添加/删除tr的方法
2013/08/02 Javascript
js调试系列 控制台命令行API使用方法
2014/06/18 Javascript
JS实现很实用的对联广告代码(可自适应高度)
2015/09/18 Javascript
浅谈js中的延迟执行和定时执行
2016/05/31 Javascript
Jquery 整理元素选取、常用方法一览表
2016/11/26 Javascript
js制作简单的音乐播放器的示例代码
2017/08/28 Javascript
jQuery实现的两种简单弹窗效果示例
2018/04/18 jQuery
详解JavaScript的BUG和错误
2018/05/07 Javascript
Vue+Mock.js模拟登录和表格的增删改查功能
2018/07/26 Javascript
Bootstrap-table使用footerFormatter做统计列功能
2018/09/07 Javascript
javascript 构建模块化开发过程解析
2019/09/11 Javascript
微信小程序自定义底部弹出框动画
2020/11/18 Javascript
Python解析最简单的验证码
2016/01/07 Python
利用pyinstaller将py文件打包为exe的方法
2018/05/14 Python
python 实现数字字符串左侧补零的方法
2018/12/04 Python
Python实现的字典排序操作示例【按键名key与键值value排序】
2018/12/21 Python
python使用time、datetime返回工作日列表实例代码
2019/05/09 Python
详解Selenium+PhantomJS+python简单实现爬虫的功能
2019/07/14 Python
Python 生成VOC格式的标签实例
2020/03/10 Python
基于python爬取梨视频实现过程解析
2020/11/09 Python
iHerb香港:维生素、补充剂和天然保健品
2017/08/01 全球购物
选购国际女性时装设计师品牌:IFCHIC(支持中文)
2018/04/12 全球购物
澳洲女装时尚在线:Blue Bungalow
2018/05/05 全球购物
什么是测试驱动开发(TDD)
2012/02/15 面试题
实习护士自荐信
2014/06/21 职场文书
2014年学前班工作总结
2014/12/08 职场文书
2014年团支部年度工作总结
2014/12/24 职场文书
春节晚会开场白
2015/05/29 职场文书
聊聊Python String型列表求最值的问题
2022/01/18 Python