【问题标题】:How to deploy nodejs application on Linux VPS如何在 Linux VPS 上部署 nodejs 应用程序
【发布时间】:2020-09-10 00:11:00
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: node.js linux vps pm2


    【解决方案1】:

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

    pm2 start bin/www
    

    如果您使用 ESM,还需要添加 --node-args="-r esm"。

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

    【讨论】:

    • 我已经实现了其他想法,我不确定Linux上的目录结构的想法。您可能错过了使用 http/nginix 代理调用应用程序或 API 的过程
    【解决方案2】:

    我的建议是使用 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

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

    sudo apt-get install curl

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

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

    现在,要使用 NVM 安装最新版本的 NodeJs,只需一个简单的命令:

    nvm install node

    如果您喜欢特定版本的 NodeJs,您可以使用命令安装它:

    nvm install 14.8.0

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

    node --version

    【讨论】:

    • 这不会帮助我使用应用程序中的 API。如果我必须将其用作后端应用程序,如何调用 API。如果应用程序托管在 Linux VPS 上,NVM 也不是正确的部署方式。
    • NVM 仅用于管理节点的安装。它可以毫无问题地用于 Linux VPS。如果您在安装正确版本的 Node for Pm 时遇到问题,那么 nvm 是一种选择。安装节点后,您应该能够运行 PM2 或任何其他节点应用程序。请发布您收到的错误消息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-21
    • 1970-01-01
    • 2016-02-08
    相关资源
    最近更新 更多