2011-08-25 129 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