要使用瘦服务器运行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
服务器。
答案 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。