如何检查PHP-FPM是否正常运行?

ifmq2ha2  于 2022-12-17  发布在  PHP
关注(0)|答案(6)|浏览(276)

php fpm网站上的文档说php fpm是coe php 5.3.3的一部分
我运行的是5.3.10,我怎么才能检查它是否正常工作?我以为它是一个运行在端口上的服务?

1sbrub3j

1sbrub3j1#

假设您使用的是Linux,请通过搜索进程列表来检查php-fpm是否正在运行:

ps aux | grep php-fpm

如果通过IP运行(与Unix套接字相反),则还可以检查端口:

netstat -an | grep :9000

或者使用nmap:

nmap localhost -p 9000

最后,我读到过你可以申请身份,但根据我的经验,这被证明是不可靠的:

/etc/init.d/php5-fpm status
g6ll5ycj

g6ll5ycj2#

对于php7.0-fpm我调用:

service php7.0-fpm status

php7.0-fpm启动/运行,进程25993
现在看看好的部分,进程名实际上是php-fpm 7.0

echo `/bin/pidof php-fpm7.0`

二六三三四二六二九七二六二八六二六二八五二六二八二

yc0p9oo0

yc0p9oo03#

下面是如何在php-fpm 7上使用套接字实现这一点

install socat
apt-get install socat

#!/bin/sh

  if echo /dev/null | socat UNIX:/var/run/php/php7.0-fpm.sock - ; then
    echo "$home/run/php-fpm.sock connect OK"
  else
    echo "$home/run/php-fpm.sock connect ERROR"
  fi

您还可以检查服务是否像这样运行。

service php7.0-fpm status | grep running

它会回来的
活动:自2017年4月9日星期日12:48:09 PDT起活动(运行); 48秒前

n8ghc7c1

n8ghc7c14#

如果它能帮助别人,在amilinux上,安装了php5.6和php-fpm,它是:
sudo /etc/init.d/php-fpm-5.6 status

aemubtdh

aemubtdh5#

PHP-FPM是一个在需要时生成新的PHP进程的服务,通常通过一个fast-cgi模块,如nginx.你可以通过检查init.d脚本来判断(有一定的误差),例如“sudo /etc/init.d/php-fpm status”
使用的端口或Unix文件套接字取决于配置,但通常只是TCP端口9000,即127.0.0.1:9000
判断它是否正确运行的最好方法是运行nginx,并设置一个将fast-cgi传递到PHP-FPM的虚拟主机,然后用wget或浏览器检查它。

esbemjvw

esbemjvw6#

自动重启php-fpm的bash脚本:

#!/bin/bash
is_running=`service php7.4-fpm status | grep running`
if [[ ! $is_running ]]
then
    echo 'php7.4-fpm is running'
else
    echo 'php7.4-fpm is not running';
fi

每5分钟检查一次的Cron配置(/root/check_php7.4_status.sh-bash脚本的路径):

*/5 * * * * /root/check_php7.4_status.sh 2>&1 >> '/root/check_php7.4_status.log'

相关问题