簡體   English   中英

在 digitalocean droplet 上使用 pm2 運行時,forever-monitor 失敗 - 目標腳本不存在

[英]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.jsapp.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM