使用 Thin 在 Rails 3 应用程序中指定环境
我正在使用 Thin 在 ec2 上运行我的 Rails 应用程序。如何指定我的 ec2 实例是精简版的测试版或生产版? Thin 真的是在生产中运行 Rails 应用程序的好选择吗?至少一开始它不会是一个大容量的应用程序。
I'm using thin to run my rails app on ec2. How do I specify that my ec2 instance is test or prod in thin? Is thin really a good choice for running rails app in production? It's not gonna be a high volume app at least at first.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用命令行上的
-e production
或 YAML 配置文件中的environment: production
将所需的环境传递给thin
。You can pass the desired environment to
thin
with either-e production
on the command-line orenvironment: production
in your YAML config-file.通常,您使用 Apache 或 Nginx 作为 Web 服务器,它可以平衡一组应用程序服务器(通常是混合型、瘦型或独角兽型)之间的请求。这一切都可能发生在同一个 EC2 实例上。
假设您知道,您正在寻找使用 RAILS_ENV 环境变量将环境设置为生产环境。如果需要,您可以将其导出到整个服务器的 bash 配置文件中,或者只是在每次启动瘦实例时指定它。
我还建议您看看Engine Yard。他们在 ec2 实例之上提供了完全优化和配置的 Rails 堆栈,而每小时的成本却很少(可能是 0.01 美元?)。
Typically you use either Apache or Nginx for your web server which balances requests among a bunch of application servers, typically mongrel, thin or unicorn. This can all happen on the same EC2 instance.
Assuming you know that, using the RAILS_ENV environmental variable to set the environment to production is what you are looking for. You can export this in the bash profile for the entire server if you want, or just specify it every time you boot up a thin instance.
I would also suggest you take a look at Engine Yard. They provided a fully optimized and configured rails stack on top of ec2 instances for very little($0.01 maybe?) more cost per hour.