在Ubuntu系统中,有多种方法可以监控Node.js应用程序的运行状态。以下是一些常用的工具和方法:
使用pm2
:
pm2
是一个流行的Node.js进程管理器,它可以帮助你管理和守护Node.js应用程序。它可以监控应用的CPU和内存使用情况,并且在应用崩溃时自动重启。
安装pm2
:
npm install pm2 -g
使用pm2
启动Node.js应用:
pm2 start app.js --name "my-app"
查看所有运行的进程:
pm2 list
监控应用的实时日志:
pm2 logs my-app
查看应用的资源使用情况:
pm2 monit
使用systemd
:
如果你的Node.js应用是以服务的方式运行的,你可以使用systemd
来监控它。首先,创建一个服务文件:
sudo nano /etc/systemd/system/my-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
Group=your-group
Environment=NODE_ENV=production
Restart=always
[Install]
WantedBy=multi-user.target
然后启动并启用服务:
sudo systemctl start my-app
sudo systemctl enable my-app
检查服务状态:
sudo systemctl status my-app
使用nodemon
:
nodemon
是一个实用工具,用于监控Node.js应用程序中的任何更改并自动重启服务器。它通常用于开发环境。
安装nodemon
:
npm install nodemon -g
使用nodemon
启动Node.js应用:
nodemon app.js
使用htop
:
htop
是一个交互式的进程查看器,它提供了一个动态的实时视图,显示系统进程和资源使用情况。虽然它不是专门为Node.js设计的,但你可以用它来查看Node.js进程的CPU和内存使用情况。
安装htop
:
sudo apt install htop
运行htop
:
htop
在htop
界面中,你可以找到你的Node.js进程,并监控其资源使用情况。
使用atop
:
atop
是另一个系统监控工具,它可以记录和报告系统活动,包括CPU、内存、磁盘I/O等。
安装atop
:
sudo apt install atop
运行atop
:
sudo atop
在atop
界面中,你可以查看Node.js进程的资源使用情况。
选择哪种方法取决于你的需求和你对工具的熟悉程度。对于生产环境,pm2
和systemd
是监控和管理Node.js应用的推荐工具。