Articles of pm2

用PM2运行一个自定义的npm脚本

我目前正在开发几个电报机器人,但我想保留在同一个git存储库。 问题在于另一方面,我想把它们作为单独的进程运行。 由于我使用的是Telegraf框架,所以要运行一个机器人,例如: micro-bot src/bot-one/bot.js 这个问题出现在PM2上时。 我已经能够运行npm start脚本的机器人之一,像这样: pm2 start –name "WeatherBot" npm — start — -t < TOKEN> 但我想能够创build像这样的自定义脚本: "main": "src/weatherWarnBot/bot.js", "scripts": { "start": "micro-bot", "littleAppleBot": "micro-bot src/littleAppleBot/bot.js", "weatherWarnBot": "micro-bot src/weatherWarnBot/bot.js" } 但是,PM2命令将如何运行两个自定义脚本中的每一个? 为了简化,我正在考虑将bot代币设置为系统的环境variables。

如何将自定义parameter passing给应用程序

我试图通过命令行与pm2运行节点应用程序,并只传递一个参数 pm2 start app.js –node-args="41" pm2 start app.js –env dev –node-args="41" 我试图用开发环境来运行它,但没有它,但在两个方面都没有奏效。 有什么办法呢?

在pm2中从fork切换到集群模式

我有一个以fork mode运行的pm2托pipe应用程序。 我怎样才能切换到cluster mode ?

PM2上的stream浪汉 – 启动应用程序后共享文件夹被安装

如何设置PM2启动应用程序后共享目录被挂载? 默认情况下, pm2 startup会在操作系统启动后添加脚本,这会导致程序错误(因为那时还没有安装文件夹)。

pm2运行EC2使用jenkins不工作?

我在AWS EC2服务器上运行我的节点应用程序。 为了持续集成,我在EC2上安装了Jenkins,jenkins连续不断地轮询代码提交,并在提交时执行一些用脚本编写的命令。 最后的命令是 pm2启动server.js 一切工作正常,构build显示成功,但稍后当我访问网站的网站不显示。 我在节点服务器前有一个nginx服务器,它给502坏的网关 在检查我意识到节点应用程序没有运行,所以我cehcked pm2日志,发现这种情况发生 – 2016-08-12 07:53:28:[[[[PM2 / God daemon launch]]]] 2016-08-12 07:53:28:BUS系统[READY] on port /var/lib/jenkins/.pm2/pub.sock 2016-08-12 07:53:28:端口上的RPC接口[READY] /var/lib/jenkins/.pm2/rpc.sock 2016-08-12 07:53:28:在-fork模式下启动执行序列 – 对于应用程序名称:服务器ID:0 2016-08-12 07:53:28:应用程序名称:服务器ID:0在线 2016-08-12 07:53:28:pm2已经被信号死亡,转储过程列表退出之前… 2016-08-12 07:53:28:删除进程0 2016-08-12 07:53:28:停止应用程序:服务器ID:0 2016-08-12 07:53:28:App [server] id [0]和pid [25822],通过信号[SIGTERM]用代码[0] 2016-08-12 07:53:28:Proc没有定义或被杀死 2016-08-12 07:53:28:[PM2]平安退出 pm2一开始就遇害,不知道为什么,试图从npm重新安装pm2没有工作。 Ubuntu 14.04 LTS 节点v4.4.7 LTS npm v2.15.8 pm2 […]

PM2只能在开机模式下观看

我正在运行一个node.js应用程序,并使用pm2进行启动。 对于pm2,我创build了一个process.json文件来定义我的应用程序和两个环境(prod和dev)。 对于开发模式,我希望启用pm2的watch选项,但不能在prod模式下使用。 但是我看不出来定义这个。 这两个模式中的任何一个都可以被激活。 你能帮我做这个吗? { "apps": [{ "name": "myapp", "script": "./app.js", "watch": ["public", "views"], "env": { "LOGLEVEL": "debug", "LOGFILE": "debug.log" }, "env_production": { "LOGLEVEL": "info", "LOGFILE": "info.log" } }] }

使用pm2将环境variables传递给node.js

我正在尝试将一些parameter passing给由pm2运行的Express应用程序。 在他们的文档中没有提示,但显然可以将一些EV传递给节点应用程序,如SOME_STUFF=xxx pm2 start app.js

PM2集群模式只启动一个实例

我正在使用PM2进行群集。 使用NodeJS 0.10.31和PM2 0.12.14时,它工作得很好。 我升级了NodeJS到0.12.4和PM2到0.12.16,现在启动以下命令: pm2 start app.js -i 5 我得到: [PM2] Spawning PM2 daemon [PM2] PM2 Successfully daemonized [PM2] Process app.js launched │ app │ 0 │ cluster │ 1372 │ online │ 0 │ 0s │ 30.500 MB │ disabled │ 我期望5个集群,但我只得到一个(表中的一行)。 到目前为止,我在日志中没有看到任何东西。 任何想法 ?

为什么我的服务器上列出了多个PM2进程?

我有一个使用PM2在生产服务器上运行的节点应用程序。 当我ssh进入服务器并运行htop我可以看到列出了多个PM2 God Daemon进程。 我不明白为什么会有多个进程,因为只有一个Sails应用程序通过PM2运行。 我的印象是Node应用程序只使用一个线程,所以我不知道为什么会列出多个PM2进程。 有人可以帮助解决这个问题吗?

如何加速从node.js中的mongodb数据检索

我有一个d3-node.js-mongodbpipe道安装程序,用于在mongo数据库中可视化数据。 我有一个大约1GB的数据表。 可视化需要大约20秒的时间来加载,并且api也花费相同的时间来显示提取的数据。 有什么方法可以加快速度? 我尝试使用pm2,但我没有性能增益,也无论我做了什么,它总是会在叉模式下运行我的应用程序。 我在Windows机器上运行节点版本.12。 谢谢。 Anmol