当我在本地启动rails服务器时会发生什么?

时间:2011-11-05 18:42:29

标签: ruby-on-rails

我正在学习Ruby on Rails。目前我正在本地机器上进行基本开发。当我在终端(OS X)中运行rails server时会发生什么?我只想了解Rails架构正在做什么以及运行哪些Ruby脚本。

1 个答案:

答案 0 :(得分:3)

rails server做的其中一件事是它加载了Rails应用程序所需的所有依赖项/ gem,或者至少将它们设置为在需要时自动加载。这有时称为“引导”或加载“Rails环境”。当您运行rails consolerails runner。{/ p>等other rails commands时,也会执行此操作

它还会启动名为WebRick的Web服务器。 Web服务器是一段ruby代码,在运行时,将自身绑定到计算机上的端口(默认端口为3000),并开始侦听该端口上的传入HTTP请求。

当请求进入时(例如,用户从页面加载HTTP GET请求),Web服务器与rails一起处理请求。我不确定工作是如何划分的,但是Web服务器应该处理较低级别的东西,比如读取HTTP头和rails应该注意找出将请求路由到哪个控制器和操作(使用你的路由) .rb文件)。我认为执行此工作的rails组件称为action_dispatch,它位于actionpack gem中。

相关问题