php-fpm设置开机启动

这篇具有很好参考价值的文章主要介绍了php-fpm设置开机启动。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

看了nginx和redis的shell启动脚本,发现服务的开启和关闭其实就是操作服务进程号,那么给php服务也写个shell脚本,也能实现service start 和 stop 

 进入Linux服务的初始化目录

[root@1 ]# cd /etc/init.d/

# 或者

[root@1 init.d]# cd /etc/rc.d/init.d/

创建phpfpmd进程脚本(进程控制脚本规范上默认都加后缀d)

vim phpfpmd
#!/bin/bash
# chkconfig:   2345 90 10
# description:  php-fpm is web server

#服务在运行级2,3,4,5下被启动或关闭,启动的优先级是90,关闭的优先级是10。

PHP_INI="/etc/php.ini"
PHP_FPM="/usr/local/php/sbin/php-fpm"
PHP_FPM_CONF="/usr/local/php/etc/php-fpm.conf"

#获取php-fpm的所有进程号
process=`pgrep php-fpm`

#echo "php-fpm process: $process"

case "$1" in
    start)
        if [ -n "$process" ]
        then
                echo ">>> php-fpm process is already running"
        else
                echo ">>> Starting php-fpm ..."
                $PHP_FPM -c $PHP_INI -y $PHP_FPM_CONF
        fi
        ;;
    stop)
        if [ ! -n "$process" ]
        then
                echo ">>> php-fpm process is not running"
        else
                echo ">>> php-fpm stopping ..."
                
                kill -15 $process
                
                while [ ! -n `pgrep php-fpm` ]
                do
                    echo ">>> Waiting for php-fpm to shutdown ..."
                    sleep 1
                done
                echo ">>> php-fpm stopped"
        fi
        ;;
    *)
        echo ">>> Please use start or stop as first argument"
        ;;
esac

 第一行,说明shell的运行环境,有些服务器默认是sh,dbash,和 bash 还是有区别的,比如:dbash相等只支持一个=,而bash里可以用==表示,具体参考附录资料。

第二行和第三行,必须加的,因为chkconfig无法识别php-fpm服务,要手动加到运行级别中。

还有个知识点,关闭服务的命令一般用-15,由服务自己发起关闭,保证没有未处理完的进程在运行。

验证脚本

[root@init.d]# ./phpfpmd start
>>> Starting php-fpm ...

[root@init.d]# ./phpfpmd start
>>> php-fpm process is already running

[root@init.d]# ./phpfpmd stop
>>> php-fpm stopping ...
>>> php-fpm stopped

[root@init.d]# ./phpfpmd stop
>>> php-fpm process is not running

也可以用service

[~]$ sudo service phpfpmd stop
[sudo] user 的密码:
>>> php-fpm stopping ...
>>> php-fpm stopped

[~]$ sudo service phpfpmd start
>>> Starting php-fpm ...

将phpfpmd加入服务运行级别

[root@1 init.d]# chkconfig phpfpmd on
[root@1 init.d]# chkconfig --list

注:该输出结果只显示 SysV 服务,并不包含
原生 systemd 服务。SysV 配置数据
可能被原生 systemd 配置覆盖。 

      要列出 systemd 服务,请执行 'systemctl list-unit-files'。
      查看在具体 target 启用的服务请执行
      'systemctl list-dependencies [target]'。

mysql          	0:关	1:关	2:开	3:开	4:开	5:开	6:关
netconsole     	0:关	1:关	2:关	3:关	4:关	5:关	6:关
network        	0:关	1:关	2:开	3:开	4:开	5:开	6:关
nginx          	0:关	1:关	2:开	3:开	4:开	5:开	6:关
phpfpmd        	0:关	1:关	2:开	3:开	4:开	5:开	6:关
redisd         	0:关	1:关	2:开	3:开	4:开	5:开	6:关

重启机器

[root@1 init.d]# reboot

查看服务是否开启

[~]$ ps -ef | grep php-fpm
root      3154     1  0 10:11 ?        00:00:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
newton    3155  3154  0 10:11 ?        00:00:00 php-fpm: pool www
newton    3156  3154  0 10:11 ?        00:00:00 php-fpm: pool www
newton    3157  3154  0 10:11 ?        00:00:00 php-fpm: pool www
newton    3158  3154  0 10:11 ?        00:00:00 php-fpm: pool www
newton    3159  3154  0 10:11 ?        00:00:00 php-fpm: pool www
newton    3161  3085  0 10:11 pts/1    00:00:00 grep --color=auto php-fpm

附录资料

linux中的sh、dash、bash的区别

LINUX系统的7种运行级别

redis_init_script详解文章来源地址https://www.toymoban.com/news/detail-417430.html

到了这里,关于php-fpm设置开机启动的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux系统下配置Nginx使部分URL使用多套自定义的PHP-FPM配置

    1. Tcp默认的9000端口通信: php-fpm配置:listen = 127.0.0.1 与nginx进程通信:fastcgi_pass 127.0.0.1:9000; 优点: 使用网络传输,可以跨服务器。 TCP通信有一些校验机制,具有更高的稳定性。 缺点: 性能略微比socket差。 2. Unix Socket(套接字)通信: php-fpm配置 :listen = /tmp/php-cgi.sock 与

    2024年02月08日
    浏览(47)
  • PHP-FPM与Nginx通信报 502 Bad Gateway或504 Gateway Timeout终极解决方案(适用于PHP执行耗时任务情况下的报错)

    适用于常规请求都没问题,但是执行某些php脚本需要超过一分钟的情况下的502/504,并不是任何请求都502/504的情况(这说明php-fpm或者nginx配置错误)。 执行脚本时间太长,期间php没有返回任何的数据。 php-fpm超时,nginx没超时 。nginx认为php-fpm罢工了,然后抛出了异常。 执行脚

    2024年02月08日
    浏览(54)
  • php-fpm未授权访问漏洞

    目录 一、产生原因 二、利用条件 三、过程原理 四、复现过程 php-fpm配置不当,fastcgi_pass这里配置了0.0.0.0,将fastcgi接口暴露在公网,任何人都可以利用接口对php-fpm发送fastcgi协议数据,更改php.ini配置文件,导致远程代码执行 此漏洞属于配置不当,因此影响所有php版本 php-f

    2024年02月09日
    浏览(44)
  • linux下查看php进程,开启php-fpm&杀死php进程

    1、查看php进程 出现如图结果说明未开启 2、查看php安装路径 3、开启php-fpm 再次查看ps -ef |grep php 以树状图的方式展现php进程 4、关闭php-fpm

    2024年02月11日
    浏览(43)
  • PHP CGI、FastCGI、PHP-FPM、PHP-CGI 区别

    PHP CGI、FastCGI、PHP-FPM、PHP-CGI 是不同的PHP执行方式和处理程序。它们有以下区别: PHP CGI (Common Gateway Interface):PHP CGI是一种通过CGI协议与Web服务器通信的PHP执行方式。在每次请求时,Web服务器会将请求传递给PHP解释器,PHP解释器会解析并执行PHP脚本,并将结果返回给Web服务器

    2024年02月11日
    浏览(46)
  • 【PHP面试题81】php-fpm是什么?它和PHP有什么关系

    本文已收录于PHP全栈系列专栏:PHP面试专区。做全网最全最有营养的PHP面试大全。 计划将全覆盖PHP开发领域所有的面试题, 对标资深工程师/架构师序列 ,欢迎大家提前关注锁定。 php-fpm(PHP FastCGI Process Manager)是PHP的一个进程管理器,它作为FastCGI进程管理器来运行,负责管

    2024年02月11日
    浏览(36)
  • Docker搭建LNMP环境实战(08):安装php-fpm

    在文件夹:/mnt/hgfs/dockers/test_site/www目录下创建文件:test.php,内容为: 在文件夹:/mnt/hgfs/dockers/test_site/compose下创建文件:test_site_php.yml,内容如下: 注意:此文件中网络的名称和nginx配置文件中网络的名称是相同的,都是:test_site_network 注意:最后一段为新加的修改 图1 f

    2024年04月13日
    浏览(44)
  • 利用Fastcgi+PHP-FPM非授权访问实现代码执行

    目录 Fastcgi Record Fastcgi Type PHP-FPM(FastCGI进程管理器) Nginx(IIS7)解析漏洞 security.limit_extensions配置 漏洞演示 今天要和大家分享的是利用Fastcgi和PHP_FPM实现未授权访问实现代码执行,首先我们需要知道cgi、fastcgi和php-fpm这些都是什么。 什么是CGI CGI全称是“公共网关接口”(Co

    2024年01月21日
    浏览(47)
  • Ubuntu/Linux安装JDK、Mysql、Redis、Rabbitmq、Nginx 并设置开机自启动

    1、Ubuntu安装版本为20.04 2、文中安装包也可以从网盘下载 链接:https://pan.baidu.com/s/1YAXhSByi0fQULPR6lV3yGg 提取码:ubun 3、相关查看命令 先去Oracle官网下载jdk,本人使用版本为jdk-8u351 将上面的jdk上传到服务器,使用下面命令解压 命令参数解释 参数 含义 tar Linux压缩/解压缩命令 -

    2024年02月02日
    浏览(53)
  • Mac Ventura 13设置开机启动执行Shell脚本

    一、编写Shell启动脚本 1.打开Mac聚焦搜索,搜索“自动操作”并打开 2.新建“应用程序” 3.运行Shell脚本拖拽到右侧  4.Shell类型改成/bin/sh后在下方输入脚本,并可以在右上角点击运行测试         如果命令中有用到密码输入,可以使用如下命令:         echo \\\"密码\\\" |

    2024年02月08日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包