当前位置: 首页 > news >正文

php-fpm服务启动脚本

这个我自己在用,没问题,有三个path需要自己酌情修改。

先创建自启动文件:/etc/init.d/php-fpm

内容如下:

  1 #! /bin/sh
  2 
  3 ### BEGIN INIT INFO
  4 # Provides:          php-fpm
  5 # Required-Start:    $remote_fs $network
  6 # Required-Stop:     $remote_fs $network
  7 # Default-Start:     2 3 4 5
  8 # Default-Stop:      0 1 6
  9 # Short-Description: starts php-fpm
 10 # Description:       starts the PHP FastCGI Process Manager daemon
 11 ### END INIT INFO
 12 
 13 prefix=/usr/local/php
 14 exec_prefix=${prefix}
 15 
 16 php_fpm_BIN=${exec_prefix}/sbin/php-fpm
 17 php_fpm_CONF=${prefix}/etc/php-fpm.conf
 18 php_fpm_PID=${prefix}/var/run/php-fpm.pid
 19 
 20 
 21 php_opts="--fpm-config $php_fpm_CONF --pid $php_fpm_PID"
 22 
 23 
 24 wait_for_pid () {
 25     try=0
 26 
 27     while test $try -lt 35 ; do
 28 
 29         case "$1" in
 30             'created')
 31             if [ -f "$2" ] ; then
 32                 try=''
 33                 break
 34             fi
 35             ;;
 36 
 37             'removed')
 38             if [ ! -f "$2" ] ; then
 39                 try=''
 40                 break
 41             fi
 42             ;;
 43         esac
 44 
 45         echo -n .
 46         try=`expr $try + 1`
 47         sleep 1
 48 
 49     done
 50 
 51 }
 52 
 53 case "$1" in
 54     start)
 55         echo -n "Starting php-fpm "
 56 
 57         $php_fpm_BIN --daemonize $php_opts
 58 
 59         if [ "$?" != 0 ] ; then
 60             echo " failed"
 61             exit 1
 62         fi
 63 
 64         wait_for_pid created $php_fpm_PID
 65 
 66         if [ -n "$try" ] ; then
 67             echo " failed"
 68             exit 1
 69         else
 70             echo " done"
 71         fi
 72     ;;
 73 
 74     stop)
 75         echo -n "Gracefully shutting down php-fpm "
 76 
 77         if [ ! -r $php_fpm_PID ] ; then
 78             echo "warning, no pid file found - php-fpm is not running ?"
 79             exit 1
 80         fi
 81 
 82         kill -QUIT `cat $php_fpm_PID`
 83 
 84         wait_for_pid removed $php_fpm_PID
 85 
 86         if [ -n "$try" ] ; then
 87             echo " failed. Use force-quit"
 88             exit 1
 89         else
 90             echo " done"
 91         fi
 92     ;;
 93 
 94     status)
 95         if [ ! -r $php_fpm_PID ] ; then
 96             echo "php-fpm is stopped"
 97             exit 0
 98         fi
 99 
100         PID=`cat $php_fpm_PID`
101         if ps -p $PID | grep -q $PID; then
102             echo "php-fpm (pid $PID) is running..."
103         else
104             echo "php-fpm dead but pid file exists"
105         fi
106     ;;
107 
108     force-quit)
109         echo -n "Terminating php-fpm "
110 
111         if [ ! -r $php_fpm_PID ] ; then
112             echo "warning, no pid file found - php-fpm is not running ?"
113             exit 1
114         fi
115 
116         kill -TERM `cat $php_fpm_PID`
117 
118         wait_for_pid removed $php_fpm_PID
119 
120         if [ -n "$try" ] ; then
121             echo " failed"
122             exit 1
123         else
124             echo " done"
125         fi
126     ;;
127 
128     restart)
129         $0 stop
130         $0 start
131     ;;
132 
133     reload)
134 
135         echo -n "Reload service php-fpm "
136 
137         if [ ! -r $php_fpm_PID ] ; then
138             echo "warning, no pid file found - php-fpm is not running ?"
139             exit 1
140         fi
141 
142         kill -USR2 `cat $php_fpm_PID`
143 
144         echo " done"
145     ;;
146 
147     *)
148         echo "Usage: $0 {start|stop|force-quit|restart|reload|status}"
149         exit 1
150     ;;
151 
152 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

转载于:https://www.cnblogs.com/pardis/p/6085037.html

相关文章:

  • html关于图片和链接的笔记
  • jQuery 语法
  • 【FFMPEG】FFMPEG介绍
  • [原创软件]Maya语言切换工具
  • 【GoLang】GoLang 错误处理 -- 异常处理思路示例
  • Tower 实战一:MavLink的连接与通信
  • hive 数据清理--数据去重
  • rails生成器生成自定义controller模板
  • 关于适配器中设置显示与隐藏的问题
  • 递归的例子
  • 各种居中对齐
  • 面向对象 封装 、继承
  • [学习笔记]背包问题(一)
  • SQL 基础语法(一)
  • HTTP慢速DOS(slow http denial of service attack)
  • [数据结构]链表的实现在PHP中
  • 【EOS】Cleos基础
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • Android交互
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • css系列之关于字体的事
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • Laravel Telescope:优雅的应用调试工具
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • Swoft 源码剖析 - 代码自动更新机制
  • zookeeper系列(七)实战分布式命名服务
  • 入门级的git使用指北
  • 我从编程教室毕业
  • 我的zsh配置, 2019最新方案
  • 学习笔记TF060:图像语音结合,看图说话
  • 与 ConTeXt MkIV 官方文档的接驳
  • 中文输入法与React文本输入框的问题与解决方案
  • 阿里云ACE认证之理解CDN技术
  • ​flutter 代码混淆
  • ​MySQL主从复制一致性检测
  • ​什么是bug?bug的源头在哪里?
  • #pragma 指令
  • #微信小程序:微信小程序常见的配置传值
  • (windows2012共享文件夹和防火墙设置
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (转)C#调用WebService 基础
  • (转)EOS中账户、钱包和密钥的关系
  • (转)编辑寄语:因为爱心,所以美丽
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • .NET 4.0中的泛型协变和反变
  • .Net 知识杂记
  • .net生成的类,跨工程调用显示注释
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成
  • [ASP.NET 控件实作 Day7] 设定工具箱的控件图标
  • [CERC2017]Cumulative Code
  • [docker] Docker的数据卷、数据卷容器,容器互联
  • [Flexbox] Using order to rearrange flexbox children
  • [GXYCTF2019]BabyUpload1 -- 题目分析与详解
  • [iOS]-NSTimer与循环引用的理解