gpt4 book ai didi

Node.js 快速应用程序生产部署

转载 作者:搜寻专家 更新时间:2023-11-01 00:18:00 24 4
gpt4 key购买 nike

假设我有一个 nodejs+express+mongodb web 应用程序,现在我想使用运行 linux 发行版的 AWS EC2 机器上线(我使用的是 ubuntu 服务器 14.04,你会使用不同的东西吗?)。

将像样的生产环境放入单层而不是我们通常在开发环境中使用的基本步骤是什么?

您会使用 http 服务器(nginx、apache 等)吗?您的防火墙配置是什么?在公开之前您还会考虑什么(nodejs 和 express 配置等)?你会使用什么工具(例如永远)?您会考虑哪些其他系统配置?

这个问题的重点不是性能,不考虑高水平的机器负载和应用扩展。

最佳答案

我已经在 AWS 上为多个商业应用程序实现了生产环境,最近使用的是 Node/Express/Mongo。通过大量调查、反复试验和编写一些脚本,我确定了适合我的配置。

以下是我使用的服务/实用程序的摘要。按照设计,所有内容都可以广泛使用并有详细记录,因此您应该可以毫无问题地找到有关如何根据您的特定要求配置每个内容的讨论。

AWS 服务

  • EC2 安全组:主防火墙
  • ELB/Autoscaler(可选):负载均衡;根据负载添加/删除实例;启用 SSL
  • Cloudwatch:监控实例可用性
  • SNS:指定 Cloudwatch 警报的通知方式(电子邮件/短信)

操作系统/实用程序

  • Ubuntu:最新的 LTS 版本,目前是 14.04;配置为使用 cron/apt-get 进行每周自动更新
  • nginx:反向代理 Node 进程; 50 倍错误处理;服务/公共(public)文件;如果不使用 ELB,则启用 SSL
  • Upstart:启动/停止应用程序进行维护;重生应用程序,如果它崩溃(ala forever);重启时启动应用
  • Monit:监控 Node 进程的长时间中断(处理 upstart 重生失败);监视文件系统可用空间;监控mongo进程

我使用标准的 apt-get 版本的 node、express 和 npm,没有特殊的配置设置。为了部署应用程序更新,我编写了一个检查 github 分支的 cron 脚本,因此通过提交到该分支会自动触发发布新版本。

当然还有更多选择,但这些绝不是确定的……换句话说,YMMV。然而,根据我的经验,这些配置相当容易,工作可靠,保持平稳运行,并在出现需要您注意的问题时迅速通知您。

关于Node.js 快速应用程序生产部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29098026/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com