首页 > 解决方案 > 如何安装和部署 node.js 应用程序?

问题描述

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

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

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

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

它是如何在现实生活场景中完成的?

标签: node.jsdeployment

解决方案


确保不要复制整个目录,尤其是 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


推荐阅读