【问题标题】:How to install and deploy node.js application?如何安装和部署 node.js 应用程序?
【发布时间】:2018-11-04 18:48:34
【问题描述】:

我是 node.js 的新手。在使用 express、tests、.nvmrc 等创建模块化项目之后,终于可以部署应用程序了。应该怎么做?在java中,您将项目捆绑到一个文件中,自包含,然后放入具有某些配置的服务器中。 node.js 呢?

我是否应该将带有源代码和node_modules 的整个目录复制到生产机器并使用 systemd、pm2 或其他进程管理器来运行它?但我听说某些依赖项可能是系统依赖项,因此它们可能无法正常工作

或者我应该只复制源代码并在生产机器上运行npm install --production?但是这种方式只有在 npm 存储库在线时才有可能进行部署。构建应用程序也需要时间,并且必须在集群中的所有机器上完成。如果出现一些错误,如何快速回滚到以前的版本?再次,需要时间和在线 npm 存储库

另一种选择是构建一个 docker 镜像。但是,轻松安全地部署应用程序的唯一方法是使用第三方技术,这似乎很尴尬

在现实生活场景中是如何做到的?

【问题讨论】:

    标签: node.js deployment


    【解决方案1】:

    确保不要复制整个目录,尤其是 node_modules。

    您系统上安装的所有软件包都应使用 --save 选项安装,例如:npm install --save express 如果这样做,您的 package.json 中将包含项目所需的依赖项,无论它们是开发依赖项还是生产依赖项。

    我不知道你的项目结构是什么样的,但作为一个节点应用程序,你必须在你的项目中运行npm init . 来设置package.json 文件,然后你可以开始使用--save 添加你的依赖项。

    通常我们使用 git

    版本控制系统

    要部署到服务器,首先我们将代码推送到 git 存储库,然后从它拉到服务器 git

    您必须在项目中添加 .gitignore 并忽略 node_modules 提交到您的 git 存储库。

    然后你可以拉到你的服务器并在服务器上运行npm install。并确保您需要启动 Web 服务器来为您的应用程序示例提供服务 ngnix

    您可以尝试使用 Heroku 进行简单的部署,您所要做的就是使用 Heroku 设置您的项目,当您推送代码时,Heroku 会管理部署。 Heroku

    【讨论】:

    • 为什么我需要 ngnix 和 node.js express 应用程序?做什么的? nginx 不能运行后端 js 对吧?
    • 你不必使用 ngnix 但推荐使用
    猜你喜欢
    • 2018-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-22
    • 1970-01-01
    • 2011-10-08
    相关资源
    最近更新 更多