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