温馨提示×

ubuntu php配置如何监控

小樊
38
2026-09-07 11:45:42
栏目: 编程语言

在 Ubuntu 上监控 PHP 配置(以及 PHP 运行状态),可以从配置检查、运行监控、性能监控、日志监控几个层面来做。下面按实用场景给你一个完整指南。


一、查看和监控 PHP 配置本身

1. 查看当前 PHP 配置

php -i
# 或
php --ini

查看某个配置项:

php -i | grep memory_limit

Web 环境建议用:

<?php phpinfo(); ?>

2. 监控 php.ini 是否被修改

方法一:文件监控(inotify)

sudo apt install inotify-tools
inotifywait -m /etc/php/8.1/cli/php.ini

方法二:定时校验 md5

md5sum /etc/php/8.1/cli/php.ini > php.ini.md5
# 定时任务
md5sum -c php.ini.md5

二、监控 PHP-FPM(最常见 Web 场景)

1. 启用 PHP-FPM 状态页

编辑:

/etc/php/8.1/fpm/pool.d/www.conf

确保:

pm.status_path = /status
ping.path = /ping

Nginx 配置示例:

location = /status {
    fastcgi_pass unix:/run/php/php8.1-fpm.sock;
    include fastcgi_params;
}

访问:

curl http://localhost/status

输出示例:

pool: www
process manager: dynamic
active processes: 2
idle processes: 5

✅ 可监控:

  • 活跃/空闲进程
  • 请求数
  • 慢请求

2. 监控慢日志(非常重要)

slowlog = /var/log/php-fpm/slow.log
request_slowlog_timeout = 5s

查看:

tail -f /var/log/php-fpm/slow.log

3. 系统级监控 PHP-FPM

ps aux | grep php-fpm

或:

systemctl status php8.1-fpm

三、PHP 错误和日志监控

1. PHP 错误日志

log_errors = On
error_log = /var/log/php/error.log

查看:

tail -f /var/log/php/error.log

2. 使用 logrotate 防止日志爆盘

/etc/logrotate.d/php-fpm

四、性能监控(生产推荐)

1. 使用 Prometheus + php-fpm-exporter

docker run -p 9253:9253 \
  php-fpm-exporter

Grafana 可直接看:

  • 请求速率
  • 内存使用
  • 进程状态

2. 使用 New Relic / Sentry

  • New Relic:APM 级监控
  • Sentry:PHP 异常监控

五、命令行 / Cron PHP 监控

监控 CLI PHP 脚本

ps aux | grep your_script.php

或:

timeout 60 php script.php

六、推荐监控组合(实用)

✅ 小型项目

  • php-fpm status
  • error.log
  • slow.log

✅ 中大型项目

  • PHP-FPM Exporter + Prometheus + Grafana
  • Sentry
  • logrotate

如果你告诉我:

  • PHP 版本(7.4 / 8.1 / 8.2)
  • Web 服务(Nginx / Apache)
  • 是否生产环境

我可以给你一套可直接复制的监控配置

0