mongrel是一個ruby的HTTP庫,用來寄舍ruby Web應用程式。其實不用Apache單用mongrel就可以運行RoR程式了,那篇網上教程中使用Apache是用來做Web代理,讓網站不會有 http://www.unbe.cn:8081/這樣的連接埠聲明。我只是做做實驗,多個連接埠號碼不會有什麼影響,所以我只配了mongrel。
配置步驟如下:
1. 下載並安裝Ruby
2. 安裝gem (Windows安裝包安裝的Ruby是內建gem的)
2.1 到rubyforge下載gem
2.2 解壓gem檔,並在命令列下執行setup: ruby setup.rb
3. 安裝rails
3.1 命令列下輸入: gem install rails –include-dependencies
注: 請確認電腦有串連網路。這個安裝過程會持續一段時間,視網速而定。
4. 安裝mongrel
4.1 命令列下輸入: gem install mongrel –y
4.2 中間會提示安裝什麼版本,我安裝的是最新版本的Win32版,其它版本我沒試過
5. 安裝mongrel service
5.1 命令列下輸入: gem install mongrel_service -y
5.2 中間會提示安裝什麼版本,我安裝的是最新版本的Win32版,其它版本我沒試過
6. 建立一個rails程式
6.1 命令列下輸入: rails D:"railsdemo , rails就會自動建立所需要檔案到目標目錄下
6.2 命令列下輸入: mongrel_rails service::install -N railsdemo -c d:"railsdemo -p 8082 –e production
-e參數還可以是development,-p參數是服務的連接埠號碼,-N參數是服務的名稱
6.3 現在Windows的服務列表中就會多一個railsdemo服務,啟動它
6.4 到瀏覽器下測試網站 http://localhost:8082/ ,看到首頁還不算完,點擊”About your application’s environment”看看是否正常顯示。
5、服務的刪除和停止
mongrel_rails service::stop -N ent
如果需要從服務中登出該項服務,那麼:
mongrel_rails service::remove -N ent
如果需要安裝多個mongrel執行個體,那麼可以這樣:
mongrel_rails service::install -N ent0 -c d:"ruby"mywork"ent -p 3000 –e production
mongrel_rails service::install -N ent1 -c d:"ruby"mywork"ent -p 3001 –e production
這裡說一下我的經驗之談,如果你和我一樣,把 Ruby 安裝到了一個包含空格的目錄(例如:C:"Program Files"Ruby),那麼你在試圖安裝 RubyGems 或用它安裝一些東西時可能遇到一些麻煩,表現為,安裝過程看似順利結束後,相應的命令(例如 gem、rails、rake)還是不可用,若試圖調用將報錯“檔案名稱、目錄名或卷標文法不正確”。這其實是這些命令的源檔案內容不對勁引起的,解決方案 也簡單,在 Ruby/bin 目錄下找到這些命令的源檔案(例如 gem.bat、rails.bat、rake.bat),把其中的“@"ruby.exe"" "%~dpn0" %*”改為“@"ruby.exe" "%~dpn0" %*”即可。
(把中間””去掉)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
在windowsXp上安裝ruby on rails的sqlite3-ruby的問題解決
1、如果已經安裝了sqlite3的話可以跳到第3步,否則下載sqlite3.exe和sqlite3.dl兩個檔案放入ruby的安裝目錄下的bin目錄,比如我的是D:"ruby"bin"
2、執行以下命令
gem install sqlite3-ruby
安裝sqlite3的ruby驅動。
3、現在就可以進行ROR開發了。比如我這裡要實現mybook,首先執行
rails mybook -d mysql
之所以加上"-d mysql"是將資料庫改為mysql(預設為sqlite3),然後要修改/mybook/config/下面的database.yml,比如我的修改如下:
development:
adapter: mysql
encoding: utf8
database: mybook_development
username: root
password: root
host: localhost
test:
adapter: mysql
encoding: utf8
database: mybook_test
username: root
password: root
host: localhost
production:
adapter: mysql
encoding: utf8
database: mybook_production
username: root
password: root
host: localhost
4、建立資料庫,執行
rake db:create:all
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
5分鐘三步走,做出你我的第一個rails項目
首先下載一鍵安裝包InstantRails-2.0-win
地址:http://files.rubyforge.mmmultiworks.com/instantrails/InstantRails-2.0-win.zip
這個很全 ruby rails mysql都有了 編輯器可以去ruby"scite目錄下找scite.exe 有高亮文法的 很好用!
D:"InstantRails-2.0-win"ruby"myproject 我的學習目錄
1 產生工程
加上環境變數後在命令列
rails chapter-1
產生項目chapter-1,
cd chapter-1在項目目錄下:
ruby script/server
啟動ruby內建伺服器WEBrick伺服器
瀏覽器指向http://localhost:3000/ 將看到歡迎畫面
2建立控制器 顯示你的話
ruby script/generate controller Greeting index
瀏覽器定位到http://localhost:3000/Greeting/index 發現ruby提示你這個index的位置在哪兒。Greeting標誌出controller index標誌出動作 預設動作是index,可以不寫 直接輸入:http://localhost:3000/Greeting/效果一樣
使用controller顯示你的話
app"controllers的Greeting_controller.rb中定義動作
def index
render :text => "<h1>Welcome to your first rails</h1>"
end
你再重新整理下瀏覽器就有你的話啦
3將controller綁定到view修改controller裡的index方法
def index
@welcome_message="Welcome to your first rails"
end
app"views"greeting index.html.erb裡輸入
<h1><%= @welcome_message%></h1>
然後頁面定位到
http://localhost:3000/Greeting/index 可以看到你的頁面編輯效果了