要监控LNMP(Linux, Nginx, MySQL, PHP)服务器的状态,可以采用以下几种方法:
top、htop 或 vmstat 等命令行工具实时监控CPU、内存、磁盘I/O和网络流量等系统资源的使用情况。这些工具能帮助您快速发现潜在的性能瓶颈。sudo systemctl status nginxsudo systemctl status mysqlsudo systemctl status php-fpm。tail -f 命令实时监控日志更新,或 tail -n 10 查看最近的几行日志。
/var/log/nginx/error.log/var/log/mysql/error.log/var/log/php7.x/error.log。#!/bin/bash
# 获取当前时间
timestamp=$(date +'%Y-%m-%d %H:%M:%S')
# 检查并重启php-fpm
if ! netstat -an | grep php-cgi | wc -l; then
systemctl restart php-fpm
echo "$timestamp php-fpm服务异常,已重启..." >> /var/log/lnmp_monitor.log
fi
# 检查并重启mysql
if ! netstat -anpt | grep mysqld | awk '{print $4}' | wc -l; then
systemctl restart mysql
echo "$timestamp mysql服务异常,已重启..." >> /var/log/lnmp_monitor.log
fi
# 检查并重启nginx
if ! netstat -anpt | grep nginx | awk '{print $4}' | wc -l; then
systemctl restart nginx
echo "$timestamp nginx服务异常,已重启..." >> /var/log/lnmp_monitor.log
fi
为脚本添加执行权限,并将其添加到 crontab 中,可以每分钟检查一次服务状态。
通过上述方法,可以有效地监控LNMP环境的运行状态,确保服务的稳定性和可靠性。在选择监控工具时,应根据具体需求考虑监控的范围、实时性要求、成本以及易用性等因素,有时结合使用多种工具可以提供更全面的监控效果。