Rails啟動過程

2021-08-29 19:57:11 字數 1553 閱讀 9944

[color=red][size=medium]rails啟動過程[/size][/color]

在每個應用程式的/public目錄下,都含有:dispatch.cgi、dispatch.fcgi、dispatch.rb 3個分發檔案。系統會根據我們的配置執行其中相應的檔案,呼叫不同的處理方式(cgi,fastcgi或是ruby方式),同時該檔案會載入整個rails環境。3個檔案中的內容基本一樣,僅對其中乙個分發檔案進行**!

這幾個分發檔案,首先通過如下**讀入/config目錄下的environment.rb檔案。

**:

require file.dirname(_fife_)+"/../config/enviroment" unless defined?(rails_root)

而在enviroment.rb檔案中,一般可以檢視rails版本。

**:

rails_gem_version = '2.0.2' # unless defined? rails_gem_version

由於沒有定rails_root會繼續呼叫/config目錄下的boot.rb檔案:

**:

require file.join(file.dirname(__file__), 'boot')

檢視root.rb檔案,它做了這樣幾件事情。一:設定環境變數

**:

rails_root = "#/.." unless defined?(rails_root)

二:boot.rb接下來會檢查是否存在#/vendor/rails目錄。因為rails應用程式的執行環境和版本關係比較大。如果存在boot.rb會啟動該目錄下的rails初始化程式。否則boot.rb會載入rubygems並搜尋environment.rb檔案。如果不存在常量,boot.rb會嘗試初始化系統最近安裝的rails版本。

三:定義了正確的初始化程式路徑。boot.rb會呼叫rails模組下的initializer類中的類方法run。

**:rails模組

模組有兩個類:initializer和configuration。

initializer類負責處理rails的配置選項,並設定rails的載入檔案的路徑。

configuration維護rails環境的配置引數。

initializer 的run方法

def self.run(command = :process, configuration = configuration.new)

yield configuration if block_given?

initializer = new configuration

initializer.send(command)

initializer

end

configuration類會載入應用程式中相關的目錄,並載入相關的檔案

如:你也可以做相應的修改。

初始化過程結束返回到enviroment.rb檔案。

mysql啟動過程長 mysql啟動過程

mysql啟動過程經過以下順序 1.mysql讀取配置檔案的順序 讀取順序 etc my.cnf etc mysql my.cnf usr etc my.cnf my.cnf 2.mysql啟動方式 mysql啟動方式有三種 mysqld mysqld safe mysqld multi 主要用於多...

Linux啟動過程

1 開啟 pc電源 pc加電後,乙個特殊的硬體電路會觸發 cpu 的 reset 腳的邏輯值,然後一些 cpu 暫存器,如 cs eip 等被給定乙個值,接著 cpu 跳轉到乙個固定位址開始執行 bios 2 bios 自檢,按設定的裝置啟動 bios 對硬體進行一系列徹底的檢查,如 cpu 型別 ...

Flex 啟動過程

2008 11 16 11 58 然後才是 通常我們所說的flex應用程式,本質上來說是基於flex框架 採用actionscript 3.0編寫的flash應用程式,從這一點來說,它和普通的flash應用程式沒有任何差別。相對來說,傳統的使用flash ide 如flash cs3 建立flash...