Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 4 AmazonEC2通过mysql或postgres为Rails应用程序建立了最佳实践_Ruby On Rails 4_Amazon Web Services_Amazon Ec2 - Fatal编程技术网

Ruby on rails 4 AmazonEC2通过mysql或postgres为Rails应用程序建立了最佳实践

Ruby on rails 4 AmazonEC2通过mysql或postgres为Rails应用程序建立了最佳实践,ruby-on-rails-4,amazon-web-services,amazon-ec2,Ruby On Rails 4,Amazon Web Services,Amazon Ec2,我必须为运行在apache2、mysql、capistrano和一些后台服务上的中型rails应用程序设置ec2。我想知道每个开发人员在安装rails应用程序时通常采用的最佳实践是什么。我想知道什么样的设置是容易扩展的,至少可以模仿 自动部署 保安 定期数据备份和一种简单快捷的数据恢复方法 服务器恢复 容错性 我还对如何监控服务器状态和性能感兴趣,其他类型的最佳实践也会有所帮助 ps:还要考虑到我的应用程序数据库将快速增长。我认为仔细查看AWS文档,尤其是AWS文档将是最好的开始。然而,让我

我必须为运行在apache2、mysql、capistrano和一些后台服务上的中型rails应用程序设置ec2。我想知道每个开发人员在安装rails应用程序时通常采用的最佳实践是什么。我想知道什么样的设置是容易扩展的,至少可以模仿

  • 自动部署
  • 保安
  • 定期数据备份和一种简单快捷的数据恢复方法
  • 服务器恢复
  • 容错性
我还对如何监控服务器状态和性能感兴趣,其他类型的最佳实践也会有所帮助


ps:还要考虑到我的应用程序数据库将快速增长。

我认为仔细查看AWS文档,尤其是AWS文档将是最好的开始。然而,让我尽可能多地回答你们的问题

数据库
在AWS上获得可扩展、容错数据库的最简单方法是使用。你应该阅读文档和最佳实践,以确保你能从中获得最大的收益——即多个AZ

EC2服务器
构造服务器的最推荐方法是将它们解耦为Web服务器(向用户提供html)和应用程序服务器(应用程序逻辑,通常返回json或xml等)。参见架构示例。
然而,关键是要在一个团队后面使用一个团队

自动化
如果您想使用capistrano,只需将其安装到服务器中即可。您可以创建一个预配置的应用程序,并将其与您想要的任何其他应用程序一起安装。或者,您可以将其安装在部署脚本中。然而,对于这类事情,最推荐的方法是使用AWS服务,它是云中的厨师

服务器恢复和容错
如果您使用EC2自动缩放,如果服务器不可用,即硬件出现故障或停止响应EC2运行状况检查,自动缩放将自动终止服务器并启动替换。
通过添加ELB和ELB健康检查,停止响应web请求的实例可以由ELB停止服务

你需要阅读文档以了解更多信息

备份和恢复
要备份连接到EC2实例的EBS卷上的数据,请使用。然而,最好的体系结构类型使EC2实例保持无状态——它们只存储应用程序代码,如果它们死了也没关系。在这些情况下,包括用户文件在内的所有数据都可以存储在计算机上。在S3上,您有许多备份选项,例如and或数据归档,以

监控
AWS提供了可以为您提供虚拟机监控程序可见的指标,如网络进出、CPU利用率等。如果你想获得更多的数据,你可以使用和推送诸如内存使用之类的东西。除了cloudwatch,您还可以使用服务器级监视工具

部署
我推荐

安全性
用于仅打开您希望用户能够连接的端口。此外,使用安全组将重要端口(如22)锁定到特定的IP组。您还可以使用来阻止不需要的流量。AWS提供了更多信息和建议


我还建议您阅读白皮书。

我认为仔细阅读AWS文档,尤其是AWS文档是最好的开始。然而,让我尽可能多地回答你们的问题

数据库
在AWS上获得可扩展、容错数据库的最简单方法是使用。你应该阅读文档和最佳实践,以确保你能从中获得最大的收益——即多个AZ

EC2服务器
构造服务器的最推荐方法是将它们解耦为Web服务器(向用户提供html)和应用程序服务器(应用程序逻辑,通常返回json或xml等)。参见架构示例。
然而,关键是要在一个团队后面使用一个团队

自动化
如果您想使用capistrano,只需将其安装到服务器中即可。您可以创建一个预配置的应用程序,并将其与您想要的任何其他应用程序一起安装。或者,您可以将其安装在部署脚本中。然而,对于这类事情,最推荐的方法是使用AWS服务,它是云中的厨师

服务器恢复和容错
如果您使用EC2自动缩放,如果服务器不可用,即硬件出现故障或停止响应EC2运行状况检查,自动缩放将自动终止服务器并启动替换。
通过添加ELB和ELB健康检查,停止响应web请求的实例可以由ELB停止服务

你需要阅读文档以了解更多信息

备份和恢复
要备份连接到EC2实例的EBS卷上的数据,请使用。然而,最好的体系结构类型使EC2实例保持无状态——它们只存储应用程序代码,如果它们死了也没关系。在这些情况下,包括用户文件在内的所有数据都可以存储在计算机上。在S3上,您有许多备份选项,例如and或数据归档,以

监控
AWS提供了可以为您提供虚拟机监控程序可见的指标,如网络进出、CPU利用率等。如果你想获得更多的数据,你可以使用和推送诸如内存使用之类的东西。除了cloudwatch,您还可以使用服务器级监视工具

部署
我推荐

安全性
用于仅打开您希望用户能够连接的端口。此外,使用安全组将重要端口(如22)锁定到特定的IP组。您还可以使用来阻止不需要的流量。AWS提供了更多信息和建议