如何使用pm2将参数传递给应用程序?

如何使用pm2将参数传递给应用程序?,第1张

如何使用pm2将参数传递给应用程序?

您可以按照此票证所述进行 *** 作:https :
//github.com/Unitech/pm2/issues/13

尽管如果通过环境,则可能需要考虑利用环境变量。使用此工具,您可以创建一个变量,该环境中的任何进程都可以访问该变量

process.env.*

因此,您有一个配置文件

config.json

{   "dev": {        "db": { "hosts":["localhost"], "database": "api"        },        "redis": { "hosts": ["localhost"]        }   },   "staging": {        "db": { "hosts":["1.1.1.1"], "database": "api"        },        "redis": { "hosts": ["2.2.2.2"]        }   },   "production": {        "db": { "hosts":["1.1.1.1", "1.1.1.2", "1.1.1.3"], "database": "api"        },        "redis": { "hosts": ["2.2.2.2", "2.2.2.3"]        }   }}

然后,您导入配置:

var config=require('./config.json')[process.env.NODE_ENV || 'dev'];db.connect(config.db.hosts, config.db.database);

然后,您将通过shell在您的环境中设置变量:

export NODE_ENV=stagingpm2 start app.js

环境变量将持续到您的会话。因此,您必须在该

~/.bashrc
用户的文件中设置它,变量才能持久。这将在每个会话中设置变量。

PM2具有一个部署系统,通过该系统,您可以在每次守护程序之前设置环境变量。这是POSIX系统中守护程序通常采用参数的方式,因为这些参数不会随过程丢失。考虑到您的情况,它可能无关紧要,但它是一种很好的做法。

此外,您应该考虑在本地停止/启动,并在可能的情况下尽可能重新启动(如果处于群集模式),以防止生产中的停机时间。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5476935.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存