监控 Debian 上 PHP 运行状态的实用方案
一 基础运行状态与服务健康
sudo systemctl status php8.2-fpm(版本号按实际替换)sudo journalctl -u php8.2-fpm -fps aux | grep phptop 或 htopsystemd-cgtopsudo apt-get install supervisor,为脚本创建 program 配置,支持 start/status/restart 与崩溃自动拉起/etc/systemd/system/myapp.service,设置 ExecStart=/usr/bin/php /path/to/script.php 与 Restart=always,执行 systemctl enable --now myapp二 日志与错误定位
error_log 指令中确认sudo tail -f /var/log/php-fpm.log/var/log/apache2/error.log/var/log/nginx/error.logjournalctl -u php8.2-fpm、journalctl -xe三 性能指标与可视化监控
top/htop、vmstat、iostat、ss -sgoaccess /var/log/nginx/access.log -a)sudo apt-get install netdata,访问 http://服务器IP:19999sudo apt-get install glancessudo apt-get install zabbix-server-mysql zabbix-frontend-php zabbix-apache-confsudo apt-get install nagios3 nagios-nrpe-server nagios-plugins四 PHP-FPM 专项状态与调优
pm.max_children、pm.start_servers、pm.min_spare_servers、pm.max_spare_servers、pm.max_requestssudo systemctl restart php8.2-fpmpm.status_path,并通过 Nginx 访问),便于被 Zabbix/Prometheus 抓取指标request_slowlog_timeout,定位耗时调用与函数五 告警与自动化恢复
autostart=true、autorestart=true,异常退出自动重启Restart=always,并配合 RestartSec=5 等策略sudo apt-get install monit,在 /etc/monit/monitrc 中配置进程、端口、资源阈值与告警动作