我刚刚完成了一个Rails-application,我现在想要上传到网上。这是对现有应用程序的重写,我预计每天会有大约4 000名访问者,有时会达到每天10 000的峰值。
我正在考虑三种方法:
使用Heroku
使用VPS Windows服务器
使用VPS Ubuntu服务器
答案 0 :(得分:5)
老实说,我觉得Windows对你来说是最糟糕的选择。 Windows和Rails的问题在于,大多数宝石从未设计为与Windows一起使用,或者与Windows一起使用的版本已经过时了。
使用Ubuntu VPS是一个非常可行的选择,将是您最便宜和最稳定的选择。我们使用Amazon S3服务在云中运行大多数Web服务器。就像你说的那样,它确实需要你了解和理解要维护的* nix操作系统。
也许对你来说,Heroku可能是最好的选择。 Heroku非常简单,可以设置项目然后进行部署。还有一些文档页面可以帮助您。在终端的一些基本命令中,您的应用程序正在运行。我经常使用Heroku作为'staging'服务器来测试beta用户之间的应用程序更新,然后再推送到S3上的生产。您也不需要学习新的操作系统来使用它。
如果您遇到部署到Heroku的问题,请发布问题,我们很乐意为您提供帮助。
答案 1 :(得分:4)
我会建议不要使用Windows服务器。根据我的经验,主要的ruby实现并没有针对Windows进行优化 - 而且运行缓慢。为了您的最终用户,Linux上的rails堆栈可以显着提高性能(或同样降低服务器预算)。
使用bundler和rails 3,服务器上的维护工作量应该是最小的。登录,部署,注销。 (查看像capistrano这样的工具,使其更加直接)。
答案 2 :(得分:3)
到目前为止,我发现的最简单的产品是Ubuntu服务器。
在Windows上,Rails往往速度较慢,而且在* nix上设置乘客之类的东西要简单得多。如果需要帮助,可以使用更多教程。
我最快的设置是Ubuntu Server和nginx。
PS。 Rails 3.0已超越3.0.3所以考虑测试最新版本8)
答案 3 :(得分:3)
Heroku很容易部署到。如果您的数据库负载很轻,您可以使用他们共享的20GB PostgreSQL数据库(15美元/月)。 2个dynos将花费你(35美元/月)所以那里你的50美元。 2应该可以处理该流量,并且您可以随时在高流量时间进行缩放。绝对会建议添加memcached附加组件并使用它。安装New Relic插件,您可以分析您的流量/负载并相应地扩展。
答案 4 :(得分:0)
我非常建议不要使用Windows进行rails应用程序部署。有些宝石在Windows上编译较慢,有些根本不工作。
我曾与Heroku合作,但由于Heroku不允许本地文件写入,因此将文件写入Heroku实例会有一些复杂性。在使用Heroku时,人们通常会将文件上传等写操作卸载到Amazon S3实例或Fog。一般来说,Heroku很容易部署,但是当配置出现时...它可能比VPS复杂一点。
对我来说最好的解决方案是使用Ubuntu通过VPS。已经完成了很多文档,您可以在配置方面有更多选择。实际上,它与在本地Ubuntu开发机器上设置Ruby on Rails没有多大区别。如果您需要有关如何在Ubuntu上部署的提示,我最近刚刚编写了一个如何操作的指南。
http://www.francisbautista.com/deploying-ruby-on-rails-apps-on-a-vps-nginx-passenger-capistrano/