在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應用的推薦工具。