• 售前

  • 售后

热门帖子
入门百科

php-fpm服务启动脚本的方法

[复制链接]
屎壳郎秧 显示全部楼层 发表于 2021-10-25 20:25:01 |阅读模式 打印 上一主题 下一主题
这个我自己在用,没问题,有三个path必要自己酌情修改。
先创建自启动文件:/etc/init.d/php-fpm
内容如下:
  1. #! /bin/sh
  2. ### BEGIN INIT INFO
  3. # Provides:     php-fpm
  4. # Required-Start:  $remote_fs $network
  5. # Required-Stop:   $remote_fs $network
  6. # Default-Start:   2 3 4 5
  7. # Default-Stop:   0 1 6
  8. # Short-Description: starts php-fpm
  9. # Description:    starts the PHP FastCGI Process Manager daemon
  10. ### END INIT INFO
  11. prefix=/usr/local/php
  12. exec_prefix=${prefix}
  13. php_fpm_BIN=${exec_prefix}/sbin/php-fpm
  14. php_fpm_CONF=${prefix}/etc/php-fpm.conf
  15. php_fpm_PID=${prefix}/var/run/php-fpm.pid
  16. php_opts="--fpm-config $php_fpm_CONF --pid $php_fpm_PID"
  17. wait_for_pid () {
  18.   try=0
  19.   while test $try -lt 35 ; do
  20.     case "$1" in
  21.       'created')
  22.       if [ -f "$2" ] ; then
  23.         try=''
  24.         break
  25.       fi
  26.       ;;
  27.       'removed')
  28.       if [ ! -f "$2" ] ; then
  29.         try=''
  30.         break
  31.       fi
  32.       ;;
  33.     esac
  34.     echo -n .
  35.     try=`expr $try + 1`
  36.     sleep 1
  37.   done
  38. }
  39. case "$1" in
  40.   start)
  41.     echo -n "Starting php-fpm "
  42.     $php_fpm_BIN --daemonize $php_opts
  43.     if [ "$?" != 0 ] ; then
  44.       echo " failed"
  45.       exit 1
  46.     fi
  47.     wait_for_pid created $php_fpm_PID
  48.     if [ -n "$try" ] ; then
  49.       echo " failed"
  50.       exit 1
  51.     else
  52.       echo " done"
  53.     fi
  54.   ;;
  55.   stop)
  56.     echo -n "Gracefully shutting down php-fpm "
  57.     if [ ! -r $php_fpm_PID ] ; then
  58.       echo "warning, no pid file found - php-fpm is not running ?"
  59.       exit 1
  60.     fi
  61.     kill -QUIT `cat $php_fpm_PID`
  62.     wait_for_pid removed $php_fpm_PID
  63.     if [ -n "$try" ] ; then
  64.       echo " failed. Use force-quit"
  65.       exit 1
  66.     else
  67.       echo " done"
  68.     fi
  69.   ;;
  70.   status)
  71.     if [ ! -r $php_fpm_PID ] ; then
  72.       echo "php-fpm is stopped"
  73.       exit 0
  74.     fi
  75.     PID=`cat $php_fpm_PID`
  76.     if ps -p $PID | grep -q $PID; then
  77.       echo "php-fpm (pid $PID) is running..."
  78.     else
  79.       echo "php-fpm dead but pid file exists"
  80.     fi
  81.   ;;
  82.   force-quit)
  83.     echo -n "Terminating php-fpm "
  84.     if [ ! -r $php_fpm_PID ] ; then
  85.       echo "warning, no pid file found - php-fpm is not running ?"
  86.       exit 1
  87.     fi
  88.     kill -TERM `cat $php_fpm_PID`
  89.     wait_for_pid removed $php_fpm_PID
  90.     if [ -n "$try" ] ; then
  91.       echo " failed"
  92.       exit 1
  93.     else
  94.       echo " done"
  95.     fi
  96.   ;;
  97.   restart)
  98.     $0 stop
  99.     $0 start
  100.   ;;
  101.   reload)
  102.     echo -n "Reload service php-fpm "
  103.     if [ ! -r $php_fpm_PID ] ; then
  104.       echo "warning, no pid file found - php-fpm is not running ?"
  105.       exit 1
  106.     fi
  107.     kill -USR2 `cat $php_fpm_PID`
  108.     echo " done"
  109.   ;;
  110.   *)
  111.     echo "Usage: $0 {start|stop|force-quit|restart|reload|status}"
  112.     exit 1
  113.   ;;
  114. esac
复制代码
设置php-fpm服务
  1. # 设置权限
  2. chmod 755 /etc/init.d/php-fpm
  3. # php-fpm加入服务
  4. chkconfig --add php-fpm
  5. # php-fpm 234级别下设置为启动
  6. chkconfig php-fpm on
  7. # 查看php-fpm服务当前配置
  8. chkconfig --list php-fpm
  9. php-fpm     0:off  1:off  2:on  3:on  4:on  5:on  6:off
复制代码
php-fpm利用方法
  1. # 启动
  2. service php-fpm start
  3. # 关闭
  4. service php-fpm stop
  5. # 重启
  6. service php-fpm restart
  7. # 重载
  8. service php-fpm reload
  9. #检查配置文件
  10. service php-fpm configtest
复制代码
脚本说明
  1. # Source function library.
  2. . /etc/rc.d/init.d/functions
  3. # Source networking configuration.
  4. . /etc/sysconfig/network
复制代码
以上量行代码有人会疑问他们到底是做什么的,'.'是source雷同于步伐中的include和require,将functions内里的方法全部倒入到这边,这边步伐便可以利用,比方这边用到的daemon、status。第二行的network实际上就几行,如下
  1. NETWORKING=yes
  2. HOSTNAME=E10162
复制代码
将他们作为变量赋值,判定网卡是否启动,假如你的nginx不走网卡,实在网络这段可以去掉.
  1. /etc/init.d/php-fpm
复制代码
总结
以上所述是小编给各人先容的php-fpm服务启动脚本的方法,希望对各人有所资助,假如各人有任何疑问请给我留言,小编会及时回复各人的。在此也非常感谢各人对脚本之家网站的支持!

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作