在CentOS环境下监控ThinkPHP的运行状态,可以通过以下几种方法:
Supervisor是一个进程控制系统,可以用来管理多个进程。你可以使用Supervisor来确保ThinkPHP应用始终运行。
sudo yum install epel-release
sudo yum install supervisor
创建一个新的配置文件来管理你的ThinkPHP应用:
sudo vi /etc/supervisor/conf.d/thinkphp.conf
添加以下内容:
[program:thinkphp]
command=/usr/bin/php /path/to/your/thinkphp start
autostart=true
autorestart=true
stderr_logfile=/var/log/thinkphp.err.log
stdout_logfile=/var/log/thinkphp.out.log
user=your_user
environment=PHPRC="/path/to/your/php.ini"
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start thinkphp
sudo supervisorctl status
如果你使用Nginx和PHP-FPM来部署ThinkPHP应用,可以通过Nginx的访问日志和PHP-FPM的状态页面来监控应用状态。
Nginx的访问日志可以显示请求的数量和响应时间等信息:
tail -f /var/log/nginx/access.log
PHP-FPM有一个内置的状态页面,可以通过配置来启用:
; php-fpm.conf or www.conf
pm.status_path = /status
然后可以通过浏览器访问http://your_server_ip/status来查看PHP-FPM的状态。
Prometheus是一个开源的监控系统和时间序列数据库,Grafana是一个开源的分析和监控平台。你可以使用它们来监控ThinkPHP应用的性能指标。
sudo yum install prometheus grafana
编辑Prometheus的配置文件/etc/prometheus/prometheus.yml,添加一个job来监控ThinkPHP应用:
scrape_configs:
- job_name: 'thinkphp'
static_configs:
- targets: ['your_server_ip:port']
sudo systemctl start prometheus
sudo systemctl start grafana-server
在Grafana中添加Prometheus作为数据源,并创建仪表盘来显示ThinkPHP的性能指标。
你可以编写自定义脚本来定期检查ThinkPHP应用的运行状态,并将结果发送到日志文件或通过邮件通知。
#!/bin/bash
# 检查ThinkPHP进程是否存在
if pgrep -f "thinkphp" > /dev/null
then
echo "$(date): ThinkPHP is running" >> /var/log/thinkphp_monitor.log
else
echo "$(date): ThinkPHP is not running" >> /var/log/thinkphp_monitor.log
# 发送邮件通知
mail -s "ThinkPHP Down" your_email@example.com < /var/log/thinkphp_monitor.log
fi
使用cron来定期运行这个脚本:
crontab -e
添加以下行来每分钟检查一次:
* * * * * /path/to/your/script.sh
通过以上方法,你可以在CentOS环境下有效地监控ThinkPHP应用的运行状态。