如何在Linux VPS上部署Node.js应用程序

问题描述

我已经在Nodejs中开发了一个应用程序。它在本地计算机上运行良好。 但是当我尝试在Linux VPS上将应用程序部署为后端应用程序时,问题就出现了。

我已经在Linux VPS上安装了Nodejs,并且已经添加了PM2模块来运行该应用程序。 但是执行命令“ PM @ start index.js”时显示错误

在寻找错误时,我发现我安装的Node版本是6.14,它与PM2模块不兼容。即使我也尝试与npm一起升级Node的版本,但显示的是旧版本名称

请建议如何配置Linux VPS以运行nodejs应用程序。

解决方法

如果您使用的是Express.js,则需要将其指向bin / www,如下所示。

pm2 start bin/www

如果您使用的是ESM,还需要添加--node-args =“-r esm”。

pm2 start bin/www --node-args="-r esm"
,

我的建议是使用Node Version Manager在Linux中安装和管理Node版本,因为某些Linux版本在其软件包存储库中具有非常老的Nodejs版本。如果您已经安装了节点,请使用Linux VPS上的软件包管理器将其卸载。如果您使用的是基于Ubuntu的VPS,则应该可以使用以下命令:

sudo apt-get purge nodejs

这是安装节点版本管理器的方法:

https://github.com/nvm-sh/nvm#installing-and-updating

在安装Node.js之前,您将需要curl或wget。因此,您需要执行以下操作:

sudo apt-get install curl

然后,运行以下命令以安装节点版本管理器(nvm)。

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash

现在,要使用NVM安装最新版本的NodeJ,这是一个简单的命令:

nvm install node

如果您喜欢特定版本的NodeJ,则可以使用以下命令进行安装:

nvm install 14.8.0

您可以通过运行以下命令来查看NodeJ是否已成功安装,该命令将返回NodeJ的版本:

node --version