ruby環境的配置

安裝 Ruby 解析器 

 

一些Linux發行版本,MacOSX操做系統都自帶Ruby解析器,可是我仍然建議自行下載ruby源代碼編譯安裝。由於一方面能夠本身定製ruby安裝的路徑,另外一方面能夠在編譯過程當中自行添加更多的特性。javascript

 

ruby的源代碼能夠從Ruby官方網站下載:css

http://www.ruby-lang.org/en/downloads/ html

 

下載源代碼包到本地Linux主機,而後解壓縮,進入該目錄,進行配置,編譯和安裝:java

tar xzvf ruby-1.8.5.tar.gz mysql

cd ruby-1.8.5 web

./configure –prefix=/usr/local/ruby sql

make && make install 數據庫

若是想瀏覽全部的configure參數,能夠:ubuntu

./configure –help |more windows

若是不定製安裝的目錄,默認將安裝到/usr/local目錄下面。然而我建議自行定製一個ruby的安裝目錄,例如/usr/local/ruby,這樣便於之後的升級,不會和操做系統其餘軟件混在一塊兒。

 

安裝好之後,修改操做系統PATH路徑,加入/usr/local/ruby/bin

export PATH=/usr/local/ruby/bin:$PATH 

將咱們本身安裝的ruby放在系統PATH前面,避免操做系統自帶的ruby形成的干擾。在Linux上,通常將設置放在/etc/profile中,便於對全局生效。

 

安裝 ruby on rails 

 

在安裝rails以前,要先安裝rubygemsrubygemsruby的在線包管理工具,能夠從rubyforge下載rubygems

http://rubyforge.org/projects/rubygems/ 

下載好源代碼包,解壓縮,安裝:

tar xzvf rubygems-0.9.0.tgz 

cd rubygems-0.9.0/ 

ruby setup.rb 

 

而後就能夠安裝rails了,在確認服務器已經鏈接互聯網的狀況下執行:

gem install rails –y 

即經過gemrubyforge網站下載rails全部依賴包安裝。

 

安裝好rails之後,能夠執行:

rails –v 

確認一下rails的版本。

 

安裝 ruby 的數據庫適配器 

rails發行包中已經自帶純rubyMySQL數據庫適配器,然而對於生產環境來講,咱們仍然應該下載安裝C版本的數據庫適配器,以達到更好的性能。下載mysql-ruby-2.7.3.tar.gz

http://www.tmtm.org/en/mysql/ruby/ 

tar xzvf mysql-ruby-2.7.3.tar.gz 

cd mysql-ruby-2.7.3 

ruby extconf.rb --with-mysql-dir=/opt/mysql5 

make && make install 

注意--with-mysql-dir應該指向MySQL數據庫的安裝路徑,若是數據庫服務器和Web服務器不在同一臺機器上,那麼Web服務器上也必須安裝MySQL軟件,由於rubyC版本MySQL適配器須要在編譯的時候聯接MySQL的系統庫。

 

安裝 Ruby 的 FCGI 支持 

 

因爲rubyfcgi支持庫須要在編譯的時候聯接FCGI的系統庫,所以咱們須要先安裝FCGI庫,下載FCGI源代碼發行包:

http://www.fastcgi.com/dist/ 

tar xzvf fcgi-2.4.0.tar.gz 

cd fcgi-2.4.0 

./configure --prefix=/usr/local/fcgi 

make && make install 

一樣,將fcgi安裝在本身指定的目錄下,而不是默認的/usr/local,避免多個軟件混在一塊兒。

 

而後就能夠安裝rubyfcgi支持庫了,下載ruby-fcgi-0.8.7.tar.gz

http://rubyforge.org/projects/fcgi/ 

tar xzvf ruby-fcgi-0.8.7.tar.gz 

cd ruby-fcgi-0.8.7 

ruby install.rb config -- --with-fcgi-include=/usr/local/fcgi/include --with-fcgi-lib=/usr/local/fcgi/lib 

ruby install.rb setup 

ruby install.rb install 

 

安裝 lighttpd Web Server 

 

安裝 Lighttpd 

 

在安裝lighttpd以前,應該確認操做系統已經安裝pcre,即Perl兼容的規則表達式庫:

rpm –qa |grep pcre 

若是沒有,請從Linux安裝光盤裏面安裝。

 

而後下載lighttpd

http://www.lighttpd.net/download/ 

tar xzvf lighttpd-1.4.13.tar.gz 

cd lighttpd-1.4.13 

./configure --prefix=/usr/local/lighttpd 

 

configure完畢之後,會給出一個激活的模塊和沒有激活模塊的清單,能夠檢查一下,是否本身須要的模塊都已經激活,在enable的模塊中必定要有「mod_rewrite」這一項,不然從新檢查pcre是否安裝。而後編譯安裝:

make && make install 

 

編譯後配置:

cp doc/sysconfig.lighttpd /etc/sysconfig/lighttpd 

mkdir /etc/lighttpd 

cp doc/lighttpd.conf /etc/lighttpd/lighttpd.conf 

 

若是你的LinuxRedHat/CentOS,那麼:

cp doc/rc.lighttpd.redhat /etc/init.d/lighttpd 

若是你的LinuxSuSE,那麼:

cp doc/rc.lighttpd /etc/init.d/lighttpd 

若是你的Linuxubuntu,那麼須要本身建立啓動腳本,lighttpd官方wiki上面已經給出來該腳本,地址在:

http://redmine.lighttpd.net/wiki/1/ScriptsUbuntu 

 

其餘Linux發行版本能夠自行參考該文件內容進行修改,或者本身寫一個控制腳本,也不過舉手之勞:

 

C代碼  

  1. #!/bin/sh   
  2. case "$1" in    
  3. start)            
  4. /usr/local/lighttpd/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf > /dev/null 2>&1   
  5. ;;   
  6. stop)    
  7. killall lighttpd   
  8. ;;   
  9. restart)    
  10. $0 stop   
  11. sleep 1   
  12. $0 start    
  13. ;;   
  14. *)    
  15. echo "Usage: lighttpd.sh {start|stop|restart}"    
  16. ;;    
  17. esac   
  18. exit 0   

#!/bin/sh

 

case "$1" in 

  start)         

    /usr/local/lighttpd/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf > /dev/null 2>&1

    ;;

  stop) 

    killall lighttpd

    ;;

  restart) 

   $0 stop

   sleep 1

   $0 start 

   ;;

  *) 

  echo "Usage: lighttpd.sh {start|stop|restart}" 

  ;; 

esac

 

exit 0 

 

而後修改/etc/init.d/lighttpd,把

LIGHTTPD_BIN=/usr/sbin/lighttpd 

改成

LIGHTTPD_BIN=/usr/local/lighttpd/sbin/lighttpd 

 

此腳本用來控制lighttpd的啓動關閉和重起:

/etc/init.d/lighttpd start 

/etc/init.d/lighttpd stop 

/etc/init.d/lighttpd restart 

 

若是你但願服務器啓動的時候就啓動lighttpd,那麼:

chkconfig lighttpd on 

 

這樣lighttpd就安裝好了,接下來須要配置lighttpd

 

配置 Lighttpd 

 

修改/etc/lighttpd/lighttpd.conf

 

1server.modules

取消須要用到模塊的註釋,mod_rewritemod_accessmod_fastcgimod_simple_vhostmod_cgimod_compressmod_accesslog是通常須要用到的。

 

2server.document-root, server.error-logaccesslog.filename須要指定相應的目錄

 

3)用什麼權限來運行lighttpd

server.username            = "nobody" 

server.groupname           = "nobody" 

從安全角度來講,不建議用root權限運行web server,能夠自行指定普通用戶權限。

 

4)靜態文件壓縮

compress.cache-dir         = "/tmp/lighttpd/cache/compress" 

compress.filetype          = ("text/plain", "text/html","text/javascript","text/css") 

能夠指定某些靜態資源類型使用壓縮方式傳輸,節省帶寬,對於大量AJAX應用來講,能夠極大提升頁面加載速度。

 

5)配置ruby on rails

 

最簡單的配置以下:

$HTTP["host"] == "www.xxx.com" { 

 server.document-root = "/yourrails/public" 

 server.error-handler-404 = "/dispatch.fcgi" 

 fastcgi.server = (".fcgi" => 

    ("localhost" => 

      ("min-procs" => 10, 

       "max-procs" => 10, 

       "socket" => "/tmp/lighttpd/socket/rails.socket", 

       "bin-path" => "/yourrails/public/dispatch.fcgi", 

       "bin-environment" => ("RAILS_ENV" => "production") 

      ) 

    ) 

 ) 

即由lighttpd啓動10FCGI進程,lighttpdFCGI之間使用本機Unix Socket通訊。

 

LighttpdFAQ:沒法啓動Ruby on Rails

 

FastCGI的啓動腳本位於Rails應用目錄下面public/dispatch.fcgi,若是沒法啓動Lighttpd,報告 FastCGI錯誤,你能夠嘗試着手工運行該腳本cd public && ./dispatch.fcgi,看看是否能夠運行。通常來講,不少人都是在Windows下面建立Rails項目,致使dispatch.fcgi腳本的ruby運行路徑指向windows下面的ruby,部署到Linux上面就沒法運行了,另一方面Windows上面建立的Rails項目在 Linux上面dispatch.fcgi沒有可執行權限,因此也須要授予可執行權限。

安裝 ImageMagick 和 RMagic (可選

RMagicruby處理圖片須要用到的庫,不少ruby應用因爲都涉及圖片處理的功能,每每須要依賴RMagic,但安裝ImageMagickRMagic至關煩瑣,須要特別的說明。

 

安裝 ImageMagick 

http://www.imagemagick.org 

ImageMagick是用C語言實現的圖形處理庫,有Unix版本和Windows版本。對於Unix版原本說,安裝比較麻煩些,另外不建議安裝ImageMagick二進制版本,每每會致使缺乏某些圖片處理功能,致使RMagic安裝失敗。下載ImageMagick源代碼,解壓縮,配置:

tar xzvf ImageMagick-6.2.9-0.tar.gz 

cd tar xzvf ImageMagick-6.2.9 

./configure --prefix=/usr/local/ImageMagick 

 

觀察配置後給出來的支持圖形格式,看看該圖形格式支持是不是yes,若是不是,那麼必須先安裝該圖形格式的本地庫。例如,你應該檢查是否已經安裝以下rpm包:

rpm –qa |grep libpng 

rpm –qa |grep libpng-devel 

rpm –qa |grep libjpeg 

rpm –qa |grep gd-devel 

若是你但願支持tiff格式,還應該檢查

rpm –qa |grep libtiff 

若是沒有安裝,那麼在Linux安裝光盤找到相應rpm包安裝上,再次configure直到確認須要的圖形格式所有支持爲止,而後編譯安裝:

make && make install 

 

因爲ImageMagic被安裝在咱們自行指定的/usr/local/ImageMagick,後面安裝RMagic會找不到須要用到的ImageMagic的命令和庫,所以須要配置一下操做系統:

 

編輯/etc/profile裏面的PATH環境變量,在最後面加入:

export PATH=/usr/local/ruby/bin:/usr/local/ImageMagick/bin:$PATH 

 

編輯/etc/ld.so.conf,加入:

/usr/local/ImageMagick/lib 

執行命令:

ldconfig 

ImageMagick的庫加入系統聯接庫

 

而後註銷當前用戶從新登陸,便於環境變量修改生效,執行:

convert logo: logo.gif 

看是否正確生成一個logo.gif的圖片文件。

 

安裝 RMagic 

http://rubyforge.org/projects/rmagick/ 

rubyfoge上面下載RMagic的源代碼發行包,不要下載gem包,而後解壓縮編譯:

./configure 

make && make install 

 

若是配置和編譯過程沒有報錯,即大功告成。

 

對於MacOSX來講,安裝RMagic以上步驟會出錯,請參考:

http://rmagick.rubyforge.org/install-osx.html 

 

整體來講,ImageMagickRMagic的安裝很容易出錯,安裝起來比較困難,若是碰到沒法解決的問題,能夠經過Google尋求解決辦法。

相關文章
相關標籤/搜索