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

如何安装和部署node.js应用程序?,node.js,deployment,Node.js,Deployment,我是node.js的新手。使用express、tests、.nvmrc等创建模块化项目后,终于到了部署应用程序的时候了。应该怎么做?在java中,您可以将项目捆绑到一个单独的文件中,该文件是自包含的,并将其放入具有某种配置的服务器中。node.js呢 我是否应该将包含源代码和节点模块的整个目录复制到生产机器上,然后使用systemd、pm2或其他process manager来运行它?但我听说一些依赖项可能与系统相关,因此它们可能无法正常工作 或者我应该只复制源代码并在生产机器上运行npm in

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

我是否应该将包含源代码和节点模块的整个目录复制到生产机器上,然后使用systemd、pm2或其他process manager来运行它?但我听说一些依赖项可能与系统相关,因此它们可能无法正常工作

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

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


在现实生活中是如何实现的?

请确保不要复制整个目录,尤其是节点模块

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

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

通常我们使用git

版本控制系统

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

您必须在项目中添加.gitignore,并忽略提交到git存储库的节点_模块

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


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

确保不要复制整个目录,尤其是节点模块

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

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

通常我们使用git

版本控制系统

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

您必须在项目中添加.gitignore,并忽略提交到git存储库的节点_模块

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


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

为什么我需要node.js express应用程序的ngnix?为何nginx将无法运行后端js,对吗?您不必使用Nginix,但建议使用它。为什么我需要使用node.js express应用程序中的Nginix?为何nginx将无法运行后端js,对吗?您不必使用ngnix,但建议使用它