簡體   English   中英

如何在 PM2 啟動之前(之前)要求 dotenv/config 文件

[英]How to require dotenv/config file on (before) PM2 starts

我像這樣運行節點應用程序:

node -r dotenv/config dist/app

我需要使用 PM2 類似的東西:

pm2 start -r dotenv/config dist/app.js --name appname // doesn't work

我收到下一個錯誤: error: unknown option -r

使用node_args

pm2 start --node-args="-r dotenv/config" dist/app.js --name appname

我做了一個Shell腳本:

// pm2-start.sh

NODE_ENV=production &&
node -r dotenv/config dist/app

然后我運行pm2 start pm2-start.sh --name appname

提示我還運行了: pm2 startup然后復制了pm2指示運行的命令,以激活通過pm2注冊的所有應用程序的自動啟動。

然后我運行pm2 save來保存自動服務。

注意:pm2分別在服務器帳戶之間列出應用程序。 這意味着用戶A上列出的應用程序將不會在用戶B上列出。對於pm2 startup命令,這是正確的-應該為每個帳戶完成。

希望能幫助到你。

這些都不適合我,因為我使用的是生態系統文件和集群模式,它的行為非常奇怪(不像沒有集群模式......)。

我在根目錄中安裝了 dotenv 作為 dev 依賴項(我也使用了 yarn 工作區)。

然后我這樣做了:

require('dotenv').config({ path: 'path/to/your/.env' })

module.exports = {
    apps: [
        {
            name: 'app',
            script: 'server/dist/index.js',
            instances: 2,
            exec_mode: 'cluster',
            instance_var: 'APP_INSTANCE_SEQ',
            // listen_timeout: 10000,
            // restart_delay: 10000,
        }
    ]
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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