2025年2月13日星期四

HestiaCP Monit如何配置监控 PHP 8.3-FPM?稳定运行不宕机的秘密

原文链接:https://www.chenweiliang.com/cwl-32503.html


🚀 HestiaCP Monit 监控 PHP 8.3-FPM 详细教程!想让你的服务器 稳定运行,不再因 PHP 崩溃 而头疼?


本指南手把手教你 配置 HestiaCP Monit 监控 PHP 8.3-FPM,提升网站性能,减少宕机风险!


HestiaCP Monit如何配置监控 PHP 8.3-FPM?稳定运行不宕机的秘密


HestiaCP 中使用 Monit 监控 PHP 8.3-FPM,可以按照以下步骤配置:


📌 1. 安装 Monit


如果你的服务器还没有安装 Monit,可以使用以下命令进行安装:


apt update && apt install monit -y

安装完成后,启动 Monit 并设置开机自启:


systemctl enable --now monit

📌 2. 确保 PHP 8.3-FPM 正常运行


首先检查 PHP 8.3-FPM 是否已正确安装并运行:


systemctl status php8.3-fpm

如果未运行,可以尝试启动:


systemctl restart php8.3-fpm

然后,确认 PHP-FPM 的监听方式:


grep "^listen" /etc/php/8.3/fpm/pool.d/www.conf

如果返回:


listen = /run/php/php8.3-fpm.sock

说明 PHP-FPM 正在使用 Unix socket 监听,适用于 Monit 监控。


如果 www.conf 文件不存在或路径不对,可能需要手动创建:


mkdir -p /etc/php/8.3/fpm/pool.d/
cp /etc/php/8.2/fpm/pool.d/www.conf /etc/php/8.3/fpm/pool.d/

然后编辑 /etc/php/8.3/fpm/pool.d/www.conf,确保包含:


listen = /run/php/php8.3-fpm.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660

保存后重启 PHP 8.3-FPM:


systemctl restart php8.3-fpm

📌 3. 配置 Monit 监控 PHP 8.3-FPM


创建 Monit 监控配置文件:


nano /etc/monit/conf.d/php83

然后添加以下内容:


check process php8.3-fpm with pidfile /run/php/php8.3-fpm.pid
start program = "/usr/sbin/service php8.3-fpm start"
stop program = "/usr/sbin/service php8.3-fpm stop"
if failed unixsocket /run/php/php8.3-fpm.sock then restart
if 5 restarts within 5 cycles then exec "/usr/bin/systemctl restart hestia"

🔹 解释:



  • 监控 PHP 8.3-FPM 进程,检测 PID 文件 /run/php/php8.3-fpm.pid

  • if failed unixsocket /run/php/php8.3-fpm.sock then restart → 监测 PHP-FPM 进程是否挂掉

  • 如果 5 次重启都失败,则重启 HestiaCP


注意:不要用 protocol fastcgi,否则 Monit 可能会报语法错误!


📌 4. 重新加载 Monit 配置


保存文件后,重新加载 Monit:


monit reload
monit status


确认 PHP 8.3-FPM 已被 Monit 监控:


monit summary

📌 5. 启动 Monit 并检查状态


确保 Monit 处于运行状态:


systemctl restart monit
monit status

✅ 6. 测试 PHP 8.3-FPM 监控


你可以手动停止 PHP 8.3-FPM 来测试 Monit 是否能自动重启:


systemctl stop php8.3-fpm

然后运行:


monit status

几秒钟后,PHP 8.3-FPM 应该会被 Monit 自动拉起:


systemctl status php8.3-fpm

🎯 总结


确保 PHP-FPM 监听 Unix socket (/run/php/php8.3-fpm.sock)

不要用 protocol fastcgi,改用 if failed unixsocket

重新加载 Monit 并测试 PHP-FPM 监控


这样你的 Monit + HestiaCP + PHP 8.3-FPM 监控就可以正常运行了 🚀





欢迎转载《HestiaCP Monit如何配置监控 PHP 8.3-FPM?稳定运行不宕机的秘密

欢迎分享本文链接:https://www.chenweiliang.com/cwl-32503.html


网站地址:https://www.chenweiliang.com/



欲获取更多资讯内幕和秘技,欢迎进入Telegram频道:https://www.chenweiliang.com/go/tgchannel

没有评论:

发表评论