Windows上的Rails開發(fā)環(huán)境搭建
下面是一位初學(xué)Rails五天的開發(fā)者總結(jié)的Windows上的Rails開發(fā)環(huán)境搭建步驟。據(jù)作者總結(jié),Rails開發(fā)環(huán)境搭建是十分快速和方便的。
[Windows 環(huán)境構(gòu)建: 要求必須能聯(lián)網(wǎng)]
在 http://rubyonrails.org/download 處下載最新版本的ruby,我這里下載的是[rubyinstaller-1.8.6-p383-preview2.exe],安裝它,并將其下的bin目錄加入到系統(tǒng)環(huán)境變量PATH中. 此時已經(jīng)安裝好了ruby和rubygems.
運(yùn)行中輸入cmd,切換到終端顯示窗口,輸入如下命令安裝rails:
[gem install rake], rake這個似乎是rails的依賴包,必須先于rails安裝
[gem install rails],
此時將會自動下載rails套件,關(guān)于套件包含信息,參見這里: http://zh.wikipedia.org/wiki/Ruby_on_Rails
設(shè)置Sqlite3數(shù)據(jù)庫的支持,國內(nèi)有些帖子說什么不能裝SQLITE3,我很疑惑,根本沒有這回事啊.直接
[gem install sqlite3-ruby],
安裝完成后Sqlite3并不能正常使用,必須從sqlite官方下載[http://www.sqlite.org/download.html]sqlite3.dll,將其復(fù)制到 ruby\bin目錄下即可
設(shè)置Mysql數(shù)據(jù)庫的支持,這個比較簡單,
[gem install mysql],
此時已經(jīng)能進(jìn)行rails的開發(fā)測試了,任意建一個文件夾,如d:\prj4rails,進(jìn)入其下,在DOS提示符中輸入,rails hello,
此時將自動構(gòu)建一個完整的應(yīng)用,包括目錄結(jié)構(gòu),基礎(chǔ)代碼...
進(jìn)入構(gòu)建的d:\prj4rails\hello文件夾下,輸入 ruby script\server 運(yùn)行自帶的web服務(wù)器,將在3000端口上運(yùn)行,瀏覽器輸入http://localhost:3000 即可查看,如果SQLITE3的配置有誤,此時如點(diǎn)擊顯示頁面中的相應(yīng)鏈接,將會顯示紅框的錯誤信息,因?yàn)榄h(huán)境設(shè)置錯誤,按上述三進(jìn)行設(shè)置的,沒有這個問題...
大多時候我會使用MYSQL做數(shù)據(jù)庫,這里只需修改項(xiàng)目中[config\database.yml]文件即可,修改如下所示,
- development:
- adapter: mysql
- database: todos
- host: localhost
- username: root
- password: password
參數(shù)不用解釋了吧,這里要注意的是 yml文件的排版格式,千萬不要弄錯...
重啟自帶的web服務(wù)器,修改配置文件都要重啟,這個很郁悶,不知道有什么方法可以不用這樣....
_________________________________________________________________________________
我并不滿足使用自帶的web服務(wù)器,這樣很麻煩,不是么?每次都要手動進(jìn)行輸入,還不能配置虛擬主機(jī),將其綁定到指定的域名,.... 這里我將講述怎么 設(shè)置 rails應(yīng)用作為 操作系統(tǒng)級別的后臺服務(wù)自動啟動及與Apache的集成,以及設(shè)置一個虛擬主機(jī)...
要想將rails應(yīng)用安裝成系統(tǒng)服務(wù),必須安裝mongrel,[gem install mongrel],安裝完成后并不能立即使用,因?yàn)閙ongrel又依賴win32-service組件,必須安裝它.[gem install win32-service],很奇怪的是,安裝不成功,總是提示無法生成本地代碼,我查了很久的資料,都沒有什么好的說明,必須系統(tǒng)中自帶C/C++編譯環(huán)境,這一點(diǎn)讓人無法接受......
寫道[摘自 qiuye]
下載win32-service-0.5.2-mswin32.gem
源位置:http://files.rubyforge.mmmultiworks.com/win32utils/win32-service-0.5.2-mswin32.gem
本地安裝 [gem install win32-service-0.5.2-mswin32.gem --local ]
沒有辦法,只能下載一個低版本的安裝.此時安裝成功.... 這里其實(shí)是一個問題,我沒有解決,大家?guī)兔?..
________________________________________________________________________________
把Mongrel作為Services啟動
mongrel_rails service::install -N hello4rails -c d:\prj4rails\hello -p 3000 –e development
-N指明服務(wù)名稱,-d指明rails應(yīng)用的目錄,-p是mongrel監(jiān)聽的tcp端口,-e是啟動模式為生產(chǎn)模式
此時將在系統(tǒng)服務(wù)中新增一個服務(wù),記住 -e 選項(xiàng),設(shè)置為哪種模式將讀取哪種模式的環(huán)境配置信息,比如我們上面設(shè)置的數(shù)據(jù)庫環(huán)境信息...
將此服務(wù)設(shè)置成 自動 模式 ,讓其每次開機(jī)自動啟動..
如果需要從服務(wù)中注銷該項(xiàng)服務(wù),那么:
- mongrel_rails service::remove -N hello4rails
________________________________________________________________________________
與Apache集成
1. 修改windows系統(tǒng)目錄下 \system32\drivers\etc\hosts文件,在其中新增一行:
寫道
- 127.0.0.1 www.xxx.com
寫道[摘自 robbin]
2 . 用編輯工具打開Apache2.2目錄下面的conf/httpd.conf,需要取消如下模塊的注釋:
- LoadModule proxy_module modules/mod_proxy.so
- LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
- LoadModule proxy_http_module modules/mod_proxy_http.so
如果你希望對頁面輸出使用壓縮,也需要取消如下模塊的注釋:
LoadModule deflate_module modules/mod_deflate.so
然后按如下內(nèi)容配置基于HTTP代理的負(fù)載均衡:
xml 代碼
- ProxyRequests Off
- < Proxy balancer://myCluster>
- BalancerMember http://localhost:3000
- < /Proxy>
- < VirtualHost *:80>
- ServerName www.xxx.com
- DocumentRoot d:/prj4rails/hello/public
- ##ProxyPass /images !
- ##ProxyPass /stylesheets ! [這里我機(jī)器上開啟找不到,尚待解決,所以注釋掉]
- ##ProxyPass /javascripts !
- ProxyPass / balancer://myCluster/
- ProxyPassReverse / balancer://myCluster/
- ProxyPreserveHost on
- < /VirtualHost>
重啟Apache即可...
此時在 瀏覽器中輸入 http://www.xxx.com 將打開我們自己建立的hello項(xiàng)目...
Rails開發(fā)環(huán)境搭建就此完成了。
【編輯推薦】