在 Linux 系统中,有多种方法可以监控 Node.js 应用程序的运行状态。以下是一些常用的工具和方法:
top 或 htop 命令: 这些命令可以显示系统的实时进程信息,包括 CPU 和内存使用情况。你可以通过搜索进程名称或 PID 来找到你的 Node.js 应用程序。
top
# 或者
htop
pm2: PM2 是一个流行的 Node.js 进程管理器,它可以帮助你管理和守护 Node.js 应用程序。它可以监控应用的 CPU 和内存使用情况,并且可以在应用崩溃时自动重启。
安装 PM2:
npm install pm2 -g
使用 PM2 启动你的应用:
pm2 start app.js
查看应用状态:
pm2 status
监控资源使用情况:
pm2 monit
nodemon: 虽然 nodemon 主要用于开发环境中自动重启服务器,但它也可以用来监控文件变化并重启应用。
安装 nodemon:
npm install nodemon -g
使用 nodemon 启动你的应用:
nodemon app.js
systemd: 如果你的 Node.js 应用程序作为服务运行,你可以使用 systemd 来管理它。你可以创建一个 systemd 服务单元文件来监控和管理你的 Node.js 应用程序。
创建一个 systemd 服务文件 /etc/systemd/system/my-node-app.service:
[Unit]
Description=Node.js Application Service
After=network.target
[Service]
ExecStart=/usr/bin/node /path/to/your/app.js
WorkingDirectory=/path/to/your/app
User=your-user
Restart=always
[Install]
WantedBy=multi-user.target
然后启动并启用服务:
sudo systemctl start my-node-app
sudo systemctl enable my-node-app
检查服务状态:
sudo systemctl status my-node-app
日志文件: 通过查看 Node.js 应用程序的日志文件,你可以了解应用程序的运行状态和可能出现的错误。确保你的应用程序有适当的日志记录机制。
自定义监控脚本: 你可以编写自己的脚本来监控 Node.js 应用程序的特定指标,比如 HTTP 请求速率、数据库连接数等,并将这些指标发送到监控系统或者记录到日志文件中。
选择哪种方法取决于你的具体需求和环境。对于生产环境,通常推荐使用 PM2 或 systemd 来确保应用程序的稳定运行和自动恢复。