ubuntu上如何监控thinkphp应用的运行状态
在Ubuntu上监控ThinkPHP应用的运行状态
将ThinkPHP应用部署到Ubuntu服务器后,如何确保它稳定运行、出了问题能第一时间知道?这离不开一套有效的监控机制。今天,我们就来聊聊几种在Ubuntu上监控ThinkPHP应用运行状态的实用方法,你可以根据项目复杂度和运维习惯来选择。
免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

1. 使用Supervisor
首先登场的是Supervisor,一个在Linux运维圈里口碑极佳的进程控制系统。它的核心任务就是帮你管理那些需要以守护进程形式运行的应用,比如我们的ThinkPHP队列消费者或常驻CLI应用。一旦进程意外退出,它能自动帮你拉起来,省心不少。
安装Supervisor
安装过程非常直接,用Ubuntu的包管理器就能搞定:
sudo apt update
sudo apt install supervisor
配置Supervisor
安装好后,关键步骤是为你的ThinkPHP应用创建一个专属的配置文件。
sudo nano /etc/supervisor/conf.d/thinkphp.conf
接下来,把下面这段配置内容填进去。记得把其中的路径替换成你项目实际的路径:
[program:thinkphp]
command=/usr/bin/php /path/to/your/thinkphp/project run
directory=/path/to/your/thinkphp/project
autostart=true
autorestart=true
stderr_logfile=/var/log/thinkphp.err.log
stdout_logfile=/var/log/thinkphp.out.log
更新Supervisor配置并启动进程
配置文件写好,就得让Supervisor加载它并启动你的应用了。依次执行下面三条命令:
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start thinkphp
监控进程状态
想看看你的应用进程跑得怎么样了?一条简单的状态查询命令就能一目了然:
sudo supervisorctl status
2. 使用Systemd
如果你的Ubuntu系统比较新(比如16.04之后),那么Systemd已经是默认的服务管理器了。用它来管理ThinkPHP应用作为系统服务,也是个非常正统且强大的选择,能很好地集成到系统的启动、停止流程中。
创建Systemd服务文件
第一步,是为应用创建一个服务单元文件:
sudo nano /etc/systemd/system/thinkphp.service
在文件中填入如下配置。这里有几个地方需要你特别注意并修改:your_user和your_group要换成运行应用的系统用户和组,ExecStart的路径也要指向你项目的正确位置。
[Unit]
Description=ThinkPHP Application
After=network.target
[Service]
User=your_user
Group=your_group
ExecStart=/usr/bin/php /path/to/your/thinkphp/project run
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
启用并启动服务
文件创建好后,让Systemd重新加载配置,然后设置开机自启并立即启动服务:
sudo systemctl daemon-reload
sudo systemctl enable thinkphp
sudo systemctl start thinkphp
监控服务状态
之后,任何时候想检查应用服务的运行状况,使用这个命令就对了:
sudo systemctl status thinkphp
3. 使用Monit
如果说Supervisor和Systemd侧重于进程管理,那么Monit就更像是一位全方位的“监控管家”。它不仅能监控进程是否存在,还能检查进程占用的资源、监听端口是否响应、甚至监控文件和目录的变化,功能相当全面。
安装Monit
同样,通过apt包管理器安装:
sudo apt update
sudo apt install monit
配置Monit
接下来是配置环节,编辑Monit的主配置文件:
sudo nano /etc/monit/monitrc
在文件中添加针对ThinkPHP应用的监控规则。下面是一个示例,它监控进程,并在HTTP服务不可达时自动重启,同时设置了防重启风暴的保护机制:
check process thinkphp with pidfile /path/to/your/thinkphp/project/runtime/pid
start program = "/usr/bin/php /path/to/your/thinkphp/project run"
stop program = "/usr/bin/php /path/to/your/thinkphp/project stop"
if failed host 127.0.0.1 port 80 protocol http then restart
if 5 restarts within 5 cycles then timeout
重新加载Monit配置并启动服务
配置生效并启动Monit服务:
sudo monit reload
sudo systemctl start monit
监控Monit状态
想查看Monit监控的所有项目状态?用这个命令:
sudo monit status
4. 使用Nginx和PHP-FPM
最后这种方法,适用于最常见的Web部署架构。如果你的ThinkPHP应用是通过Nginx + PHP-FPM对外提供服务的,那么监控好Nginx和PHP-FPM这两个“门面”和“引擎”,也就间接保障了应用的可用性。
安装Nginx和PHP-FPM
如果还没安装,先把这两个核心组件装上:
sudo apt update
sudo apt install nginx php-fpm
配置Nginx
接着,为你的域名或项目配置一个Nginx虚拟主机。编辑站点配置文件:
sudo nano /etc/nginx/sites-a vailable/your_domain
加入类似下面的配置块。重点是指定好项目根目录,以及将PHP请求正确转发给PHP-FPM处理:
server {
listen 80;
server_name your_domain;
root /path/to/your/thinkphp/project;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
}
启用Nginx配置并重启服务
创建符号链接启用配置,测试无误后重启Nginx:
sudo ln -s /etc/nginx/sites-a vailable/your_domain /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
监控Nginx和PHP-FPM状态
日常运维中,定期检查这两个核心服务的状态是基本功:
sudo systemctl status nginx
sudo systemctl status php7.4-fpm
好了,以上就是几种在Ubuntu上监控ThinkPHP应用的典型方法。从简单的进程守护Supervisor,到系统级的Systemd服务,再到功能丰富的Monit,以及基于Web服务组件的间接监控,它们各有侧重。实际选择时,不妨结合你的项目规模、团队技术栈和运维深度来决定,很多时候也可以组合使用,构建更稳固的防线。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
CentOS系统Python路径如何设置
在 CentOS 系统中设置 Python 路径 在 CentOS 系统上配置 Python 环境变量是开发者和运维人员的一项基础且关键的操作。无论是为了确保 Python 脚本能够顺利执行,还是为了灵活管理多个 Python 版本(如 Python 2 与 Python 3),正确设置 PATH
Python环境如何在CentOS配置
在CentOS上配置Python环境 想在CentOS系统上搭建一个高效、稳定的Python开发环境?本指南将为你提供一套从基础到进阶的完整配置方案。无论你是Python新手还是经验丰富的开发者,遵循以下步骤都能快速在CentOS服务器或桌面版上部署现代化的Python工作环境,涵盖系统更新、核心工
Java编译在CentOS上如何进行代码检查
在CentOS上进行Ja va代码检查 想在CentOS系统上提升Ja va代码质量?静态代码分析工具是你的得力助手。像Checkstyle、PMD和SpotBugs(FindBugs的继任者)这类工具,能帮你自动发现代码中的风格问题、潜在缺陷和不良实践。下面,我们就来一步步看看如何在CentOS上
CentOS下Java编译时如何使用Gradle
在CentOS系统下使用Gradle进行Ja va项目编译 想在CentOS上搞定Ja va项目的编译?Gradle是个高效的选择。整个过程其实很清晰:先确保Gradle环境就位,然后配置好构建脚本,最后一行命令就能启动构建。下面咱们一步步来拆解。 1 安装Gradle 首先,得确保你的系统已经装
Java编译在CentOS上如何使用Maven
在CentOS上使用Ma ven进行Ja va项目编译 想在CentOS系统上顺利编译Ja va项目,Ma ven是绕不开的得力工具。整个过程其实很清晰,跟着下面这几个步骤走,基本就能搞定。 1 安装Ja va 万事开头难,但第一步很简单:确保你的CentOS系统已经装好了Ja va。怎么确认呢?
- 日榜
- 周榜
- 月榜
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
相关攻略
2015-03-10 11:25
2015-03-10 11:05
2021-08-04 13:30
2015-03-10 11:22
2015-03-10 12:39
2022-05-16 18:57
2025-05-23 13:43
2025-05-23 14:01
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

