如果你覺得安裝所有的 Ruby on Rails 相關套件,並且將 Production Server系統設定好是一件很麻煩的事情嗎?或許你可以試試看
RubyWorks。
RubyWorks 是一個在 Red Hat Enterprise 或是 CentOS 上面的套件組合,他會幫你把所有 Production 環境下面的相關的 Ruby on Rails 套件跟 Server 套件一次安裝完成,並且提供一個馬上可以跑的 defulat config file,也就是說各位公司的技術長們不需要花時間去看那麼多 Production 設定方式,你已經有一個很堪用的 Production Ruby on Rails Server了。
So,你還有理由不玩 Ruby on Rails嗎?
我們看看怎麼安裝 RubyWorks,因為我沒有 Red Hat Enterprise Server,所以我只 Test CentOS。
前置作業
RubyWorks 因為好像還沒進去 yum 資料庫,所以我們還是得必須告訴 yum 哪裡有 RubyWorks 的 Package,如果已經進去yum repo了,就好像不需要這個動作了。
如果你像我一樣,是個不求甚解,只求可以 Work 的人,就這樣打就好了。
wget http://rubyworks.rubyforge.org/public_key.txt
sudo rpm --import public_key.txt
wget http://rubyworks.rubyforge.org/RubyWorks.repo
cp RubyWorks.repo /etc/yum.repos.d/
YUM 安裝 Ruby Works
直接用 gem 安裝
yum install rubyworks
然後.....裝好了。
請連線到 http://localhost:3001/ 的地方,你一定會看到一個很熟悉的畫面。是的,Ruby on Rails 已經跑起來了,還是用 Haproxy 幫你跑的。不過這裡要講的是,因為他的取向不是 development server,而是 production server,所以他並不會安裝 Rails 的 gem package,而是直接將 rails 放在
/usr/rails/vender/rails 裡面。
Rubyworks 安裝表
RubyWorks 一共會幫你安裝
- ruby
- ruby-devel
- rubygems
- haproxy
- monit
- mongrel
- rubyworks
並且幫你設定好 HAProxy ,跑在 3001 Port,Mongrel 跑在 3002~3005 Port,monit 跑在 2812 port。
Rubyworks 詳細位置表
詳細的安裝位置是在
/usr/bin/ruby/
:Ruby 所在地
/usr/lib/ruby/
:Ruby libraries
/usr/lib/ruby/1.8/
:Ruby standard library/usr/lib/ruby/gems/1.8/gems/
:所有安裝的 Ruby gems Package
/usr/bin/monit
:monit 執行檔
/etc/init.d/monit
:monit的啟動 script,所有的 server 都會在 monit 啟動的時候,也順便幫你啟動好了(Mongrel,Haproxy)
/usr/bin/haproxy
:HAProxy 執行檔
/usr/bin/mongrel_rails
:Mongrel
/etc/rails/
:configuration files/var/rails/
:所有 Deamon 的 .pid files
/usr/rails/
:Rails app code 所在地。 /var/log/monit.log
:Monit 的 log
/var/log/haproxy.log
:HAProxy log/usr/rails/log/
:Mongrels and Rails 的 log
延伸閱讀