Rails没有运行Thin

时间:2013-05-19 20:53:31

标签: ruby-on-rails thin

要使用瘦服务器运行Rails,我通常会将thin gem添加到Gemfile,然后运行bundle install,然后重新启动我的开发服务器。

但现在它无法正常工作,我该如何调试此行为?

我的意思是没有工作:

=> Booting WEBrick
=> Rails 3.1.3 application starting in development on http://0.0.0.0:3001
=> Call with -d to detach
=> Ctrl-C to shutdown server

我正在使用Zeus gem,这可能是相关的吗?我重新启动了zeus服务器。

3 个答案:

答案 0 :(得分:3)

这是我的Rails版本的一个问题,更新到3.2.13,现在它可以工作,也许问题是其他问题,但该更新解决了这个问题。

答案 1 :(得分:2)

我使用瘦和宙斯所以也许我可以帮忙。在Gemile中放入:development

group :development do
  gem 'thin'
end

它应该自动拾取。但是,有时候我必须一起重启宙斯。所以停止使用control-c的zeus,退出后运行zeus start,然后当zeus屏幕上的服务器为绿色时,运行zeus server

按顺序尝试一下,看看它是否适合你

还要确保您的Gemfile中没有宙斯。如果您使用rvm,只需将其安装在global gemset即可。 Bundler不应该使用宙斯。

答案 2 :(得分:1)

编辑:刚看到自己的回答,但我要解释为什么无论如何都有效。

使用thin作为rails服务器可以在较新版本的Rails(3.2 +)

中使用

但是,查看rails server的输出,您运行的是Rails 3.1.3。我不认为在该版本中使用thin rails server

在您的Rails版本中,您可能需要明确地调用thin,而不是假设rails server会想出来。

我的建议是使用Procfile(请参阅a good guide for development as well as deployment并设置web进程以运行thin而不是`rails server)。使用foreman / procfile,您不必担心需要使用哪个服务器,或者需要启动哪些其他服务(redis,memcached等)。另外,如果你部署到Heroku,你还是需要一个Procfile。