如何监控Ubuntu上的php-fpm运行状态
在Ubuntu系统上监控PHP-FPM运行状态,可运用systemctlstatus命令查看服务状态,利用top/htop监控资源占用,通过psaux|grepphp-fpm快速定位进程,使用php-fpmstatus获取工作状态,借助Monit等工具实现专业告警,并时常查看/var/log/php-fpm/error.log错误日志排查问题,从而确保服务健
在Ubuntu上运维php-fpm,最基础也最关键的一步就是掌握它的运行状态。下面梳理了几种常用的监控手段,供你参考。

-
用 systemctl 直击核心
对于systemd管理的服务,直接用systemctl status php-fpm就能看到服务是活是死、启动时间、最近日志。想启停或重启,也是一样的套路:sudo systemctl status php-fpm sudo systemctl start php-fpm sudo systemctl stop php-fpm sudo systemctl restart php-fpm这是最稳、最直接的方法,没有之一。
-
实时资源监控:top / htop
如果你更关心php-fpm进程吃了多少CPU和内存,top或htop是经典搭档。直接在终端敲top,然后按Shift+M按内存排序,或者按P按CPU排序,找到php-fpm的条目一目了然。htop的交互更友好,支持箭头滚动和树形视图,推荐用起来。 -
ps 命令:快速捞进程
想看看当前到底启动了哪些php-fpm进程、它们的PID和启动参数?ps aux | grep php-fpm一行搞定。这招在排查僵尸进程或计数子进程数量时特别好用。 -
自带状态工具:php-fpm status
php-fpm自身提供了一个命令行工具,直接调用sudo php-fpm status就能看到当前工作状态、进程池、活跃请求数等信息。不过要注意,这个命令可能需要在配置中开启pm.status_path才有效果,具体可以查一下你本地的php-fpm.conf。 -
第三方监控工具:Monit / Nagios / Zabbix
生产环境建议上专业监控。Monit轻量级,适合个人或小团队;Nagios和Zabbix功能更全面,可以配置告警规则,当php-fpm挂掉或资源跑满时自动发邮件、信息。这些工具不仅能监控php-fpm,还能顺带看服务器整体负载,属于“一劳永逸”的方案。 -
看日志永远不会错
任何复杂问题,日志都能给你答案。php-fpm的默认日志在/var/log/php-fpm/目录下,最常用的就是error.log。用sudo tail -f /var/log/php-fpm/error.log可以实时跟踪最新错误,排查崩溃或配置异常时必备。
以上六种方法基本覆盖了从“一键查看”到“深度分析”的所有场景。你可以根据实际运维习惯选择一两种组合使用,确保php-fpm始终处于可控状态。


































