如何为生产准备 nodejs?

严酷的拉格夫

我有一个需要在 CPanel 上托管的 MEAN Stack 应用程序,但我以前从未部署过应用程序。通过使用以下命令在 dist 文件夹中创建一个包,可以轻松部署应用程序的 Angular 部分:

ng build --prod

但我想知道我应该如何在服务器上发布我的后端代码。是否有任何命令/命令可以像 Angular 一样创建一个缩小的包?

我还想知道我是否需要安装一些 npm 包来确保我的应用程序在服务器上顺利运行?就像我在谷歌上搜索有关部署 nodejs 时一直在阅读有关 PM2 和 Nginx 的内容一样。那么它们有什么好处呢?

请提及任何可能有用的文章或视频。

角度版本 7

节点版本 8.11.3

Ubuntu 16.04

克洛维斯1122

您可以按原样部署代码,它会起作用!

您不需要缩小代码。VM 的速度足以运行它。当从服务器向客户端发送文件时,通常会进行缩小以减小文件的大小,并且由于您没有发送任何文件,因此您无需担心。

一旦您达到生产状态,我建议使用PM2来管理 Node 进程。它包括日志、自动重启和许多可以帮助你的酷功能。

如果您担心node_modules目录的大小,也许您可​​以确定仅在开发过程中使用了哪些包(例如,测试工具如 Jest 和 Mocha,转译器如 Babel、Typescript 等)。将这些放在文件中"devDependency"密钥中package.json然后,在生产中运行npm install --production,它不会安装您列为devDependency. 那应该产生更小的node_modules.

如果您遵循十二个因素,那么还要为生产专用凭证创建一个环境文件。

为了完整起见,如果您使用 Babel/Typescript 或任何其他类似的工具,那么您确实需要将项目转换为 Node 可以理解的 Javascript 代码。运行相应的命令以生成生产版本。

关于Nginx,有些人喜欢将Nginx作为反向代理,让它为静态资产服务,而对于API请求,则将其转发给Node API。这是“最佳实践”,因为 Nginx 可以轻松调整以更快地为静态资产提供服务,并且包括缓存、安全保护等多个选项。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将expressjs(nodejs)启动为生产模式

来自分类Dev

如何为生产代码设置锚标记链接?

来自分类Dev

如何为生产服务器升级 Angular CLI?

来自分类Dev

如何为生产和开发环境iOS设置不同的证书和配置文件?

来自分类Dev

Jest / NodeJS,如何为“ unhandledRejection”构建测试

来自分类Dev

如何为nodejs正确实现分页?

来自分类Dev

如何准备生产的js文件?

来自分类Dev

如何准备生产的js文件?

来自分类Dev

如何为nodeJs项目创建模板原型

来自分类Dev

如何为永久运行的NodeJS设置内存限制

来自分类Dev

如何为googleapi-nodejs-client获取正确的参数

来自分类Dev

如何为 azure nodejs 功能包含 azure sdk?

来自分类Dev

如何创建NodeJS模块?

来自分类Dev

如何使NodeJs函数等待?

来自分类Dev

NodeJs 如何使用 MomentJs?

来自分类Dev

如何将Playnomics IOS SDK设置为生产模式?

来自分类Dev

Aurelia在NodeJS上的捆绑和生产部署

来自分类Dev

在Dokku中以生产模式部署nodeJS应用

来自分类Dev

如何为生成的DAO查找创建RecordN

来自分类Dev

Nodejs在生产模式下运行时如何调试错误?

来自分类Dev

如何从NodeJs调用Java程序

来自分类Dev

如何增加nodejs的默认内存?

来自分类Dev

NodeJS事件循环如何工作?

来自分类Dev

如何正确使Apache代理NodeJS?

来自分类Dev

如何自参考NodeJS模块?

来自分类Dev

如何从NodeJS执行Postgres函数

来自分类Dev

NodeJS Pdfmake如何添加图像

来自分类Dev

您如何调试nodejs项目?

来自分类Dev

如何使用nodejs检查DNS?