为什么有些ruby rails gem在某些服务器上运行而在其他服务器上运行?

时间:2011-08-10 20:00:30

标签: ruby-on-rails ruby-on-rails-3

我是ruby on rails开发的新手,但我对为什么不同的宝石在某些服务器上工作而不在其他服务器上工作有点困惑。

简介:我开始在http://ruby.railstutorial.org/上学习rails。我也开始在http://railscasts.com/

上观看Ryan Bates的一些轨道广播

在railscast上,Ryan谈论使用太阳黑子进行文本搜索。然后,评论中的某个人说使用太阳黑子生产服务器是单调乏味的。如果它在您的机器上本地工作,它不应该在生产服务器上工作吗?

在railstutorial上,迈克也在谈论搜索,但他提到了思考斯芬克斯,他说要将它用于共享主机或专用服务器。对于heroku,请在文本搜索中使用他们的文档。

这是我的第一个Web开发项目,来自Windows后台,因此后端服务器对我来说仍然是未知的。是因为不同类型的服务器(例如:Nginx,Apache ......)?

非常感谢!

2 个答案:

答案 0 :(得分:2)

其中许多宝石要求您设置其他服务,或者它们可能是内存或资源密集型的。这实际上取决于你将使用什么类型的托管和特定的宝石,如果你在Rails的共享托管上工作可能很难,因为你没有完全控制系统。

答案 1 :(得分:1)

YKO,

我的猜测是,与生产中难以使用的太阳黑子相关的评论是因为在生产中,您可能想要设置自己的Solr实例,而不是使用随太阳黑子一起发布的Solr的嵌入式实例。他们可能指的是设置Solr,而不是专门使用gem。

太阳黑子宝石让您可以轻松地与Rails内的Solr全文搜索引擎进行交互,有点像其他允许您与Redis,MySQL,MongoDB等集成的宝石。为了使开发更容易,太阳黑子包括Solr的一个实例作为gem的一部分。这样可以很容易地做一个简单的“ gem install sunspot_rails ”,然后运行rake任务来启动/停止Solr。无需在本地计算机上单独设置Solr。

当您在本地计算机上运行时,这对于开发非常有用。但在生产中,您可能希望有一个单独的Solr实例运行。

继续数据库类比,想象一下MongoMapper或MySQL gems是否附带了各自数据库的嵌入式实例。这在开发中是可以的 - 在您的系统上设置一件事就更少了。但在生产中不是那么好,你可能想要调整数据库上的某些设置,设置故障转移等。

Solr也是如此。

希望有所帮助。

相关问题