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
PHP4 与 MySQL 交互使用
Oct 09 PHP
一个php导出oracle库的php代码
Apr 20 PHP
php 验证码制作(网树注释思想)
Jul 20 PHP
PHP输入流php://input实例讲解
Dec 22 PHP
php支持断点续传、分块下载的类
May 02 PHP
PHP类的特性实例分析
Sep 28 PHP
PHP基于回溯算法解决n皇后问题的方法示例
Nov 07 PHP
PHP 计算两个特别大的整数实例代码
May 07 PHP
PHP array_shift()用法实例分析
Jan 07 PHP
php项目中类的自动加载实例讲解
Sep 12 PHP
PHP isset()及empty()用法区别详解
Aug 29 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
Apache+php+mysql在windows下的安装与配置图解(最新版)
2008/11/30 PHP
PHP中的use关键字概述
2014/07/23 PHP
jQuery+PHP发布的内容进行无刷新分页(Fckeditor)
2015/10/22 PHP
使用PHP如何实现高效安全的ftp服务器(二)
2015/12/30 PHP
php提交表单时保留多个空格及换行的文本样式的方法
2017/06/20 PHP
PHP字符串与数组处理函数用法小结
2020/01/07 PHP
用js实现控制内容的向上向下滚动效果
2007/06/26 Javascript
ie和firefox不兼容的解决方法集合
2009/04/28 Javascript
jQuery $.each的用法说明
2010/03/22 Javascript
利用jquery.qrcode在页面上生成二维码且支持中文
2014/02/12 Javascript
Bootstrap模态对话框的简单使用
2016/04/29 Javascript
原生js仿jquery一些常用方法(必看篇)
2016/09/20 Javascript
Node.js实现文件上传的示例
2017/06/28 Javascript
使用Webpack提高Vue.js应用的方式汇总(四种)
2017/07/10 Javascript
javascript 日期相减-在线教程(附代码)
2017/08/17 Javascript
angularjs select 赋值 ng-options配置方法
2018/02/28 Javascript
详解如何配置vue-cli3.0的vue.config.js
2018/08/23 Javascript
Vue CLI 3搭建vue+vuex最全分析(推荐)
2018/09/27 Javascript
js实现导航跟随效果
2018/11/17 Javascript
JavaScript变量基本使用方法实例分析
2019/11/15 Javascript
JQuery Ajax如何实现注册检测用户名
2020/09/25 jQuery
解决Antd Table表头加Icon和气泡提示的坑
2020/11/17 Javascript
Nginx搭建HTTPS服务器和强制使用HTTPS访问的方法
2015/08/16 Python
django1.11.1 models 数据库同步方法
2018/05/30 Python
用python标准库difflib比较两份文件的异同详解
2018/11/16 Python
记一次python 内存泄漏问题及解决过程
2018/11/29 Python
解决PyCharm不运行脚本,而是运行单元测试的问题
2019/01/17 Python
500行Python代码打造刷脸考勤系统
2019/06/03 Python
浅谈Python中的异常和JSON读写数据的实现
2020/02/27 Python
python实现同一局域网下传输图片
2020/03/20 Python
美国最便宜的旅游网站:CheapTickets
2017/07/09 全球购物
给物业的表扬信
2014/01/21 职场文书
团委工作总结2015
2015/04/02 职场文书
2015年成本会计工作总结
2015/10/14 职场文书
小学语文教学反思范文
2016/03/03 职场文书
生鲜超市—未来中国最具有潜力零售业态
2019/08/02 职场文书