首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用pm2运行具有不同节点版本的2个应用程序

如何使用pm2运行具有不同节点版本的2个应用程序
EN

Stack Overflow用户
提问于 2022-07-27 13:04:18
回答 1查看 249关注 0票数 0

我正在为我的应用程序遵循微服务架构。

我有7个微服务,很少在节点上运行,还有一些是在python上运行的。2微型服务有多个实例(即以集群模式运行)。

所有的微服务都由PM2管理。

现在,我正在逐个升级服务的节点版本。不管我在互联网上看到了什么,它都说我只能在叉子模式下使用两个版本。如何在集群模式的两个不同版本上运行pm2服务

我不想使用负载平衡器或码头。

EN

回答 1

Stack Overflow用户

发布于 2022-08-07 08:56:36

您可以使用nvm来管理您需要的不同的节点版本,然后在启动节点应用程序时,执行以下操作:

代码语言:javascript
复制
sudo pm2 start app.js --interpreter=/home/user/.nvm/v4.4.2/bin/node

自然地,根据您的情况替换节点nvm路径。

用于安装nvm:https://github.com/nvm-sh/nvm#installing-and-updating

一旦安装到安装节点版本:

代码语言:javascript
复制
// Install last 16.x
nvm install 16

// Spécific version
nvm install 16.14.2

// List installed 
nvm list

更新

如果--interpreter在集群模式下不可用,您可以试试这个技巧。

代码语言:javascript
复制
1 - localize pm2 binary with ``which pm2`` command
2 - Change directory to the pm2 binary directory: ``cd /path/to/pm2``
3 - make a copy of pm2 binary: ``cp pm2 pm2-node-xx`` replace xx with node version you want
4 - verify that copied binary have executable flag, if not make a ``chmod +x`` on it
5 - edit the copied binary file an on first line modify the shebang. Replace ``#!/usr/bin/env node`` by ``#!/home/ubuntu/.nvm/versions/node/v13.14.0/bin node``

一旦完成,您应该使用另一个节点版本获得一个新的pm2二进制文件。您将能够使用pm2-node-xx start app.js启动节点脚本。

您将运行两个pm2守护进程,每个节点版本一个。您可以为所需的所有节点版本复制此菜谱。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73138485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档