[英]forever-monitor fails when run with pm2 on digitalocean droplet - Target script does not exist
我有一個帶有永遠監視器的節點應用程序。
當我在本地運行它時,它可以正常工作。
當我使用node app-fm.js
在 digitalocean 液滴上手動運行它時,它也可以正常運行。
但是,當它嘗試以 pm2 開始時,它會出錯。
檢查我看到的 pm2 日志:
/root/.pm2/logs/app-fm-out.log last 15 lines:
/root/.pm2/logs/app-fm-error.log last 15 lines:
0|app-fm | Error: Target script does not exist: app.js
0|app-fm | at /root/wa-bot/node_modules/forever-monitor/lib/forever-monitor/monitor.js:170:9
0|app-fm | at processTicksAndRejections (node:internal/process/task_queues:78:11)
app-fm.js 是入口文件(應用程序與node app-fm.js
運行)
app.js 調用如下:
var forever = require('forever-monitor')
const fm = new(forever.Monitor)('app.js', {
max: 1,
silent: false,
})
這兩個文件( app-fm.js
和app.js
)都在項目的根文件夾中。
digitalocean 上的項目位於/root/wa-bot
文件夾中
我解決了它:
const fm = new(forever.Monitor)('app.js', {
max: 1,
silent: false,
sourceDir: (!process.env.DESKTOP_SESSION) ? '/root/wa-bot/' : null
})
出於某種原因,在 digitalocean droplet(運行 ubuntu 20.04)上, sourceDir
是必需的,而在我的 ubuntu 20.04 筆記本電腦上則不需要。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.