问题描述
我已经在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