如何安装和部署node.js应用程序?

时间:2018-11-04 18:48:34

标签: node.js deployment

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

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

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

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

在现实生活中如何进行?

1 个答案:

答案 0 :(得分:2)

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