更改Rails的默认服务器

时间:2011-08-25 16:07:18

标签: ruby-on-rails mongrel webrick

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

有人知道如何安排吗?

规格:WinXP,Rails 2.3.12,Ruby 1.8.7

1 个答案:

答案 0 :(得分:1)

好的,这里有几个选择:

选项一 - 一关:始终将webrick添加为命令行arg

打开脚本/服务器并在两者之间插入一行

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

选项二 - 全局:编辑启动rails的命令/ server.rb文件

gem which railties - >告诉你启动代码在哪里 在lib / commands / 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 - 最干净,但涉及最多:

切换到Bundler并直接管理您的依赖项。这是更多的工作,但是你可以在某些时候切换到rails 3,这可能会很好,具体取决于应用程序的生命周期。 有一个tutorial for rails 2.3 here