Node.js Express应用程序生产部署

MQ87

假设我有一个nodejs + express + mongodb Web应用程序,现在我想使用运行Linux发行版的AWS EC2计算机上线(我正在使用ubuntu服务器14.04,您会使用其他功能吗?)。

将体面的生产环境划分为单个层而不是通常在开发环境中使用的基本步骤是什么?

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

这个问题的重点不是性能,不要考虑高级别的机器负载和应用程序扩展。

汤姆

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

以下是我使用的服务/实用工具的摘要。通过设计,所有内容都可以广泛使用并有据可查,因此,您可以毫无疑问地找到有关如何根据自己的特定要求进行配置的讨论。

AWS服务

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

操作系统/实用程序

  • Ubuntu:最新的LTS版本,当前为14.04;配置为使用cron / apt-get每周执行一次自动更新
  • nginx:节点进程的反向代理;50x错误处理;提供/ public文件;如果不使用ELB,则启用SSL
  • Upstart:启动/停止应用程序进行维护;重新崩溃(如果永久崩溃)的应用程序;重新启动时启动应用
  • Monit:监视节点进程是否长时间停机(处理暴发户重生失败);监视文件系统的可用空间;监控mongo进程

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

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

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

尝试在Heroku上部署Node.js / Express / Socket.io应用程序时出现应用程序错误

来自分类Dev

将node.js应用程序部署到弹性beantalk(使用express)

来自分类Dev

如何在HAProxy后面部署node.js express应用程序?

来自分类常见问题

如何打包和部署Node.js + express Web应用程序?

来自分类Dev

如何将Angular Universal应用程序部署到Node.js生产服务器?

来自分类Dev

使用node.js,express和PM2在生产应用程序中进行Console.log

来自分类Dev

AngularJS Node.js应用程序的最佳部署架构

来自分类Dev

在Node.js中部署angularjs应用程序

来自分类Dev

使用Fleet与Node.js应用程序部署

来自分类Dev

将Node js应用程序部署到Heroku

来自分类Dev

无法在 Heroku 上部署 Node.js 应用程序

来自分类Dev

将Node.js应用程序部署到Heroku的应用程序错误

来自分类Dev

启动Node.js Express应用程序

来自分类Dev

将Node.js和Node.js应用程序部署到Raspberry Pi

来自分类Dev

部署 node js express 应用-cent os

来自分类Dev

部署:将Angular 2 / Node.js应用程序部署到Heroku

来自分类Dev

将带有node-jdbc模块的Node.js应用程序部署到Bluemix

来自分类Dev

在 node.js 中设置应用程序生产和开发模式

来自分类Dev

在dokku部署上的Upstart Node.js应用程序(Digital Ocean)

来自分类Dev

将基本的node.js应用程序部署到openshift会导致git push出错

来自分类Dev

在Bamboo上持续集成和部署Node.js应用程序

来自分类Dev

将Node.js应用程序部署到Bluemix时如何指定npm版本?

来自分类Dev

升级Node.js后,gcloud应用程序部署在权限上失败

来自分类Dev

Azure Node.js Web应用程序在部署中缺少NPM软件包

来自分类Dev

使用Heroku部署Node.js应用程序时公共目录出现问题

来自分类Dev

将Node js应用程序部署到Cloudbees ClickStart时出错

来自分类Dev

将yeoman node.js应用程序部署到Elastic Beanstalk

来自分类Dev

部署node.js应用程序时如何处理依赖项?

来自分类Dev

CentO中的AWS中的node.js应用程序部署不起作用

Related 相关文章

  1. 1

    尝试在Heroku上部署Node.js / Express / Socket.io应用程序时出现应用程序错误

  2. 2

    将node.js应用程序部署到弹性beantalk(使用express)

  3. 3

    如何在HAProxy后面部署node.js express应用程序?

  4. 4

    如何打包和部署Node.js + express Web应用程序?

  5. 5

    如何将Angular Universal应用程序部署到Node.js生产服务器?

  6. 6

    使用node.js,express和PM2在生产应用程序中进行Console.log

  7. 7

    AngularJS Node.js应用程序的最佳部署架构

  8. 8

    在Node.js中部署angularjs应用程序

  9. 9

    使用Fleet与Node.js应用程序部署

  10. 10

    将Node js应用程序部署到Heroku

  11. 11

    无法在 Heroku 上部署 Node.js 应用程序

  12. 12

    将Node.js应用程序部署到Heroku的应用程序错误

  13. 13

    启动Node.js Express应用程序

  14. 14

    将Node.js和Node.js应用程序部署到Raspberry Pi

  15. 15

    部署 node js express 应用-cent os

  16. 16

    部署:将Angular 2 / Node.js应用程序部署到Heroku

  17. 17

    将带有node-jdbc模块的Node.js应用程序部署到Bluemix

  18. 18

    在 node.js 中设置应用程序生产和开发模式

  19. 19

    在dokku部署上的Upstart Node.js应用程序(Digital Ocean)

  20. 20

    将基本的node.js应用程序部署到openshift会导致git push出错

  21. 21

    在Bamboo上持续集成和部署Node.js应用程序

  22. 22

    将Node.js应用程序部署到Bluemix时如何指定npm版本?

  23. 23

    升级Node.js后,gcloud应用程序部署在权限上失败

  24. 24

    Azure Node.js Web应用程序在部署中缺少NPM软件包

  25. 25

    使用Heroku部署Node.js应用程序时公共目录出现问题

  26. 26

    将Node js应用程序部署到Cloudbees ClickStart时出错

  27. 27

    将yeoman node.js应用程序部署到Elastic Beanstalk

  28. 28

    部署node.js应用程序时如何处理依赖项?

  29. 29

    CentO中的AWS中的node.js应用程序部署不起作用

热门标签

归档