我安装了mongrel gem,因为我在我的工作站上需要它以用于极少数情况,现在它是我的默认Rails(2)服务器。我知道我可以在命令行中指定script/server webrick
,但事实是我希望我的系统(或应用程序)默认为webrick,并且只在指定时使用mongrel。
有人知道如何安排吗?
规格:WinXP,Rails 2.3.12,Ruby 1.8.7
答案 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