2011-08-25 113 views
0

我安装了mongrel gem,因为我的工作站在极少数情况下需要它,现在它是我的默认Rails(2)服务器。我知道我可以在命令行上指定script/server webrick,但事实是,我希望将我的系统(或应用)默认为webrick,并且只在指定时使用mongrel。更改Rails的默认服务器

有人知道如何安排吗?

规格:WinXP中,Rails的2.3.12和Ruby 1.8.7

+0

这是为了一个(一个项目)或你在未来创建的所有项目? – Khronos

+0

最好对于所有项目,但任一答案都是有益的。 – JellicleCat

回答

1

确定这里有几个选项:

方案一 - 一个休:总是添加的WEBrick作为命令行参数

打开脚本/服务器和插入一行两者之间需要

#!/usr/bin/env ruby 
require File.expand_path('../../config/boot', __FILE__) 
ARGV.unshift "webrick" 
require 'commands/server' 

选择二 - 环球:编辑一个启动轨道

0的命令/ server.rb文件

宝石这railties - >告诉你在哪里启动代码是 公开赛的lib /命令/ server.rb文件

大约45行编辑逻辑,这样的WEBrick总是被默认启动。

server = Rack::Handler.get(ARGV.first) rescue nil 
unless server 
    begin 
    server = Rack::Handler::WEBrick # was Mongrel 
    rescue LoadError => e 
    server = Rack::Handler::WEBrick 
    end 
end 

选择3 - 最干净的,但最复杂的:

切换到捆扎机和直接管理的依赖关系。这是更多的工作,但您可以根据应用程序的生命周期在某些时候切换到rails 3,这可能很不错。 有一个tutorial for rails 2.3 here