问题标签 [pm2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
pm2 - 调试使用 pm2 运行的应用程序
应用程序由
或者
我想使用 node_inspector 在本地调试我的应用程序。我添加了debug
论点
它工作正常,但如果我提供config.json
而不是脚本,app.js
我不知道如何传递有关调试的参数。下一个配置不起作用
那么如何调试由 pm2 运行并使用配置的应用程序?
node.js - 使用 PM2,如何将我的 node.js 应用程序部署到同一服务器上的多个环境和端口?
我有一个用于我使用PM2部署的节点应用程序的生态系统.json 文件。
我尝试了很多不同的方式来配置它,但没有运气实现我的目标,即:
- 能够部署到生产或登台环境(目前都在同一台服务器上)。
- 当部署到一个时,另一个也应该保持运行。
- 2 个不同的环境应该在不同的端口上(prod = 8000,staging = 3000)
发生的事情是我首先运行的部署命令获胜。
因此,如果我这样做pm2 deploy production
,则pm2 deploy staging
只有生产应用程序/端口组合在服务器上运行,反之亦然,如果我切换顺序。
编辑:如果我使用下面的 conf ,将会有 2 个应用程序在运行pm2 status
,但如果我做 a netstat
,我只会看到第一个的端口。(分 6)
我觉得我一定遗漏了一些明显的东西。这是我的生态系统.json 文件,我已经尝试过在顶部有和没有多个应用程序声明。
node.js - 尽管成功 echo $variable,NodeJs /etc/environment 没有看到文件更改
我有一个运行带有 Nodejs、nginx 和 Pm2 的 Ubuntu 的数字海洋水滴,可以在崩溃时重新加载。
/etc/environment
该站点在加载我的脚本的意义上可以成功运行,但不幸的是,尽管重新启动并关闭了我的服务器,但它似乎没有获取我对文件变量所做的最新更改。我也尝试过源/etc/environment
,但没有成功。
奇怪的是我的服务器返回/etc/environment
文件的旧值而不是最新值。
当我在 shell 中运行时,echo $thevariable
它会显示更新的值。
所以看起来环境变量已经被缓存了......
关于如何让我的 nodejs 服务器看到我的本地环境变量的任何想法,我将不胜感激。
谢谢你。
node.js - pm2 json config 未正确运行应用程序
尝试使用 pm2 启动和运行 nodejs 应用程序。
我们使用 SASS 并使用“node-sass-middleware”在文件更改时重建到 css 文件。一切正常,直到 pm2 每次 sass 中间件重建一个 css 文件时自动重启应用程序......这就是我们告诉它要做的事情:
pm2 start app.js --watch 因此,在阅读了一些文档之后,您似乎应该能够使用 json 文件配置 pm2,并且它具有“ignore_watch”选项。
因此,按照 github 上的指南:https ://github.com/Unitech/PM2/blob/master/ADVANCED_README.md#json-app-declaration我们设置了一个配置 json 文件,如下所示:
问题是,一旦我们尝试运行它,pm2 日志就会吐出 1000 行日志错误,看起来都像这样:
感谢下面的答案 这似乎是罪魁祸首,显然在 linux 世界中 ENOSPC 意味着没有剩余磁盘空间.. 但是整个开发服务器上仅使用 2.1gig,总 HDD 空间为 25gig,这不是问题。
PM2:2015-05-09 15:32:00:错误:观看 ENOSPC
此外,当我们从顶部提到的 cli 运行 pm2 时,一切都很完美......
我们真的需要这样做,因为它对开发团队造成了严重破坏。
有没有其他人遇到过这个问题?
谢谢,约翰
node.js - 关于 pm2 reloadLogs 和 log-date-format
我正在使用 pm2 版本 0.12.9
我使用命令启动一个应用程序:
pm2 start bin/www --name gototravel --log-date-format="YYYY-MM-DD HH:mm Z"
然后我查询 pm2 日志
ll ~/.pm2/logs
-rw-rw-r-- 1 wucho wucho 0 May 12 11:03 gototravel-error-0.log
-rw-rw-r-- 1 wucho wucho 1822 May 12 11:03 gototravel-out-0.log
我的第一个问题是我没有看到以时间戳为前缀的日志文件。
然后我跑
pm2 reloadLogs
并查询 pm2 日志,但没有生成另一个日志
ll ~/.pm2/logs
-rw-rw-r-- 1 wucho wucho 0 May 12 11:03 gototravel-error-0.log
-rw-rw-r-- 1 wucho wucho 1822 May 12 11:03 gototravel-out-0.log
我是一个nodejs newbee,你能给我什么建议吗?
s
node.js - 我可以用 upstart 运行 PM2 集群吗?
我编写了一个 NodeJS 服务,它将持续运行。我想使用 PM2 运行它的两个副本。
我也在尝试为它编写一个新贵脚本,但我无法让它工作(基本上stop
不会工作,PID 永远不会正确。
我在 upstart 的节上读了一点expect
,它告诉 upstart 服务是分叉 0 次、一次还是两次,我意识到 PM2 分叉 4 次然后结束,所以没有 PID 供 upstart 杀死以停止进程。
我应该放弃暴发户并为我的服务编写不同类型的启动脚本吗?
node.js - pm2 list 命令显示格式错误的结果
我第一次在远程 Ubuntu 实例上玩pm2 。
它似乎运行良好,但是当我使用pm2 list
表格格式列出正在运行的进程时有点混乱。
这没什么大不了的,因为一切似乎都在工作,但只是想知道为什么显示器会这样显示。
这是 Ubuntu 14.04,节点 0.10.25 通过 Putty 连接
有任何想法吗?
node.js - PM2 使用 Express 应用程序端口侦听器和 phantomjs-node 实例引发错误
所以我有一个正在监听的快速应用程序,localhost:8888
如果我在节点中独立运行它,它会很好地监听。但是当我尝试使用 PM2 运行它时,我在 PM2 日志中得到以下错误。
pm2 start -i 0 myserver.js
PM2 显示它启动了 8 个进程,但是如果我什么都不做pm2 list
,那就没有了。
查看pm2 logs
我在下面的日志中看到错误。但是..如果我注释掉这serve.listen(8888);
条线,它就可以了。我到底在做什么错在这里?
javascript - phantomjs-node 尝试在 node-cluster 后面扩展时崩溃
相关的 GitHub 问题:https ://github.com/sgentle/phantomjs-node/issues/280
我有一个简单的应用程序,它执行以下操作:
只要我在 WebStorm 中运行它,它就可以正常运行,并且我可以使用任意数量的/foo
并发请求访问端点,并且一切都按预期工作。
但是,一旦我尝试将其扩展到 PM2 w/pm2 start -i 0 phantomapp.js
之后,只要我不向它抛出太多请求,一切仍然可以正常工作。第二次我打开两个浏览器窗口并在两者中点击刷新,我在pm2 logs
. 此时,由 PM2 管理的所有 8 个进程都“消失”了!我究竟做错了什么??:
您可以使用节点本机集群重现相同的问题:
尝试同时处理 > 1 个请求时,会在控制台中产生以下错误: