问题标签 [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.
node.js - Docker:监视文件和重启容器进程的方法
是否有任何可行的方法可以在 docker 中观看/重新加载?
这里的用例是开发,其中分支之间的切换可能会更改后端、前端或数据库配置文件中的一个或多个。
示例:我有一个 node.js 应用程序。如果服务器 JS 代码发生更改,我希望后端服务器重新启动。如果package.json
更改,我想要“安装”容器(运行npm install
,保存node_modules
到共享卷)。如果 SQL 文件发生更改,我希望供应容器psql
再次运行其命令。
基本上,我想查看某些文件并在它们发生变化时重新启动该过程(容器本身在技术上并未重新启动)。Supervisord 不适合观看,但如果不是出于 docker 考虑,似乎像 PM2 或 Forever 这样的流程管理器通常是灌篮的选择。
node.js - 当我使用 pm2 管理我的节点集群时,如何将不同进程的日志合并到一个文件中?
例如进程A有两个日志文件,一个是err,另一个是out,进程B也有同样的情况,现在,我如何将两个err文件合并为一个err文件和out文件?
node.js - isMaster 相当于 pm2
我cluster
过去曾用于运行多个实例,但想开始使用pm2
. 但是,我有一个只能在启动的实例之一上运行的进程。
有没有办法确定或识别最初启动的实例,相当于isMaster
使用时pm2
?
node.js - PM2 resurrect 在重启时不起作用 - dump.pm2 被清空
我正在尝试将 PM2 配置为在 centos 上守护一个简单的 node.js 服务器。init.d 脚本执行,没有错误,但pm2 list
返回一个空列表,服务器没有启动。
最初,我试图以不同的用户身份启动该过程(对于那些感兴趣的人,这可以通过修改来完成pm2-init.sh
)。但由于复杂性,我决定首先尝试让它以 root 身份运行。
问题的奇怪症状是dump.pm2
文件正在被某个进程清空,因此 pm2 resurrect 无关。我将 pm2 设置为在重新启动时运行,如下所示
此时,dump.pm2 中有一个大的 JSON 对象,并且服务器正在运行。然后,运行:
它又是空的,dump.pm2 也是如此!
我不确定是什么进程正在清除此文件。我尝试重新安装并重新运行启动脚本无济于事。任何帮助是极大的赞赏。
sails.js - sailsjs 使用 pm2 集群模式和 CSRF
我正在运行一个带有pm2
集群模式的sailsjs应用程序。
现在的问题是,由于我使用 CSRF 验证发出跨域请求,因此只有一个集群具有正确的访问权限,其他集群给我“CSRF 不匹配错误”。
您如何将 pm2 与 CSRF 一起使用?
javascript - 关于 pm2 restart 与 reload 的混淆
发出“pm2 restart all”将重新启动 pm2 管理的所有进程。
我想知道:如果对任何源文件进行了更改,这真的会重新加载更改吗?或者它只是重新启动内存中现有的 pm2 进程。
node.js - 如何在某个节点版本上运行 pm2?
我们的 linux 服务器上运行着几个不同版本的节点,而我的服务基于节点 v0.11.14。但是,其他人的代码必须在较低版本的节点(低于 v0.11)上运行,否则他们的服务将停止服务。所以我无法将全局节点版本定义为 v0.11。我只想运行 pm2 来监控我基于节点 v0.11 的服务。
无论如何在节点 v0.11 上运行我的 pm2 而不更改全局节点版本?谢谢
javascript - 使用pm2时如何自动重新加载Node.js项目
我目前正在用 Express.js 编写 Node.js,每次更改文件路由器或应用程序中的一行代码时,都需要键入命令:
更改文件时如何使 pm2 自动重新加载项目?