读书人

Rails源码翻阅(二)_script/server

发布时间: 2012-10-20 14:12:48 作者: rapoo

Rails源码阅读(二)_script/server

Rails源码阅读(二)_script/server

?

如果明白了script/console,那么理解script/server会轻松些;

区别在于,启动console其实是需要加载irb,而启动server则要处理http请求;

应该先看看本系列的如下文章:

boot:Rails源码阅读(零)_config/boot

http-server:动手写rails(一)_Rack标准和HttpServer之WEBrick

?

script/server的代码:

#(1) 可以指定maping的path,这样在rack中就map到这个路径:map map_path

server = Rack::Handler.get(ARGV.first) rescue nilunless server  begin    server = Rack::Handler::Mongrel  rescue LoadError => e    server = Rack::Handler::WEBrick  endendserver.run(app, options.merge(:AccessLog => []))
?

这里要明白流程:

启动server是要启动什么?

HttpServer(CGIserver),这里就是WEBrick或者Mongrel

server怎么和ruby联系上了?

WEBrick等遵循rack标准,server.run(rack_app, options)

ruby写一个rack的app即可

rails里的rack是什么?

是:ActionController::Dispatcher

出处代码:inner_app = ActionController::Dispatcher.new

还需要哪些知识?

rack的介绍,原理,好处,标准,使用等

WEBrick活Mongrel的介绍和使用

?

====结束====

=== ? ? ? ? ? ===

== ? ? ? ? ? ? ? ?==

= ? ? ? ? ? ? ? ? ? ? =

| ? ? ? ? ? ? ? ? ? ? ? |

?

?

?

?

?

?

?

?

?

?

?

?

读书人网 >网络基础

热点推荐