[英]How to install and deploy node.js application?
我是node.js的新手。 在使用express,测试, .nvmrc
等创建模块化项目之后,终于可以部署该应用了。 应该怎么做? 在Java中,您将项目捆绑到一个单独的文件中,该文件包含自包含文件,并以某种配置将其放入服务器中。 那node.js呢?
我是否应该将带有源代码和node_modules
的整个目录复制到生产机器,并使用systemd,pm2或其他进程管理器来运行它? 但我听说某些依赖项可能是系统依赖项,因此它们可能无法正常工作
还是应该仅复制源并在生产计算机上运行npm install --production
? 但是这种方式只有在npm存储库在线时才可以部署。 此外,构建应用程序还需要花费时间,并且必须在集群中的所有计算机上完成。 如果出现错误,如何快速回滚到以前的版本呢? 再次,需要时间和在线npm仓库
另一个选择是构建docker映像。 但是似乎很尴尬的是,轻松,安全地部署应用程序的唯一方法是使用第三方技术
在现实生活中如何进行?
确保不要复制整个目录,尤其是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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.