<source id="4vppl"><ins id="4vppl"></ins></source>
<u id="4vppl"><sub id="4vppl"><label id="4vppl"></label></sub></u>
<object id="4vppl"></object>
  • <u id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></u>

    <object id="4vppl"></object>
    <b id="4vppl"><sub id="4vppl"><tr id="4vppl"></tr></sub></b>

      <i id="4vppl"><thead id="4vppl"></thead></i>

      <thead id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></thead>

      當(dāng)前位置:首頁(yè) > 網(wǎng)站舊欄目 > 學(xué)習(xí)園地 > 設(shè)計(jì)軟件教程 > 在Linux平臺(tái)上安裝和配置Ruby on Rails詳解

      在Linux平臺(tái)上安裝和配置Ruby on Rails詳解
      2010-01-14 23:33:28  作者:  來(lái)源:
      ruby on rails推薦的生產(chǎn)運(yùn)行環(huán)境是Linux/FreeBSD/Unix,即Unix系列的操作系統(tǒng),采用lighttpd+FCGI的解決方案。以下我將以Linux操作系統(tǒng),lighttpd+FCGI,MySQL數(shù)據(jù)庫(kù)為例,從源代碼編譯安裝開始講解。
       
      在安裝之前,應(yīng)該確認(rèn)Linux操作系統(tǒng)已經(jīng)安裝好gcc編譯器,否則請(qǐng)用Linux安裝光盤先行安裝gcc編譯器:
      gcc –v
      如能返回gcc版本號(hào),則gcc正確安裝。

       
      下面分步驟詳細(xì)講解環(huán)境的安裝和設(shè)置
       
       

       

      安裝 Ruby 解析器 Top

       
      一些Linux發(fā)行版本,MacOSX操作系統(tǒng)都自帶Ruby解析器,但是我仍然建議自行下載ruby源代碼編譯安裝。因?yàn)橐环矫婵梢宰约憾ㄖ苧uby安裝的路徑,另一方面可以在編譯過程中自行添加更多的特性。
       
      ruby的源代碼可以從Ruby官方網(wǎng)站下載:
       
      下載源代碼包到本地Linux主機(jī),然后解壓縮,進(jìn)入該目錄,進(jìn)行配置,編譯和安裝:
      tar xzvf ruby-1.8.5.tar.gz
      cd ruby-1.8.5
      ./configure –prefix=/usr/local/ruby
      make && make install
      如果想瀏覽所有的configure參數(shù),可以:
      ./configure –help |more
      如果不定制安裝的目錄,默認(rèn)將安裝到/usr/local目錄下面。然而我建議自行定制一個(gè)ruby的安裝目錄,例如/usr/local/ruby,這樣便于以后的升級(jí),不會(huì)和操作系統(tǒng)其他軟件混在一起。
       
      安裝好以后,修改操作系統(tǒng)PATH路徑,加入/usr/local/ruby/bin:
      export PATH=/usr/local/ruby/bin:$PATH
      將我們自己安裝的ruby放在系統(tǒng)PATH前面,避免操作系統(tǒng)自帶的ruby造成的干擾。在Linux上,一般將設(shè)置放在/etc/profile中,便于對(duì)全局生效。
       

       

      安裝 ruby on rails Top

       

      在安裝rails之前,要先安裝rubygems。rubygems是ruby的在線包管理工具,可以從rubyforge下載rubygems:
      下載好源代碼包,解壓縮,安裝:
      tar xzvf rubygems-0.9.0.tgz
      cd rubygems-0.9.0/
      ruby setup.rb
       
      然后就可以安裝rails了,在確認(rèn)服務(wù)器已經(jīng)連接互聯(lián)網(wǎng)的情況下執(zhí)行:
      gem install rails –y
      即通過gem從rubyforge網(wǎng)站下載rails所有依賴包安裝。
       
      安裝好rails以后,可以執(zhí)行:
      rails –v
      確認(rèn)一下rails的版本。
       

      安裝 ruby 的數(shù)據(jù)庫(kù)適配器 Top

      rails發(fā)行包中已經(jīng)自帶純r(jià)uby的MySQL數(shù)據(jù)庫(kù)適配器,然而對(duì)于生產(chǎn)環(huán)境來(lái)說(shuō),我們?nèi)匀粦?yīng)該下載安裝C版本的數(shù)據(jù)庫(kù)適配器,以達(dá)到更好的性能。下載mysql-ruby-2.7.3.tar.gz:
      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應(yīng)該指向MySQL數(shù)據(jù)庫(kù)的安裝路徑,如果數(shù)據(jù)庫(kù)服務(wù)器和Web服務(wù)器不在同一臺(tái)機(jī)器上,那么Web服務(wù)器上也必須安裝MySQL軟件,因?yàn)閞uby的C版本MySQL適配器需要在編譯的時(shí)候聯(lián)接MySQL的系統(tǒng)庫(kù)。
       

      安裝 Ruby 的 FCGI 支持 Top

       
      由于ruby的fcgi支持庫(kù)需要在編譯的時(shí)候聯(lián)接FCGI的系統(tǒng)庫(kù),因此我們需要先安裝FCGI庫(kù),下載FCGI源代碼發(fā)行包:
      tar xzvf fcgi-2.4.0.tar.gz
      cd fcgi-2.4.0
      ./configure --prefix=/usr/local/fcgi
      make && make install
      同樣,將fcgi安裝在自己指定的目錄下,而不是默認(rèn)的/usr/local,避免多個(gè)軟件混在一起。
       
      然后就可以安裝ruby的fcgi支持庫(kù)了,下載ruby-fcgi-0.8.7.tar.gz:
      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 Top

       
      安裝 Lighttpd
       
      在安裝lighttpd之前,應(yīng)該確認(rèn)操作系統(tǒng)已經(jīng)安裝pcre,即Perl兼容的規(guī)則表達(dá)式庫(kù):
      rpm –qa |grep pcre
      如果沒有,請(qǐng)從Linux安裝光盤里面安裝。
       
      然后下載lighttpd:
      tar xzvf lighttpd-1.4.13.tar.gz
      cd lighttpd-1.4.13
      ./configure --prefix=/usr/local/lighttpd
       
      configure完畢以后,會(huì)給出一個(gè)激活的模塊和沒有激活模塊的清單,可以檢查一下,是否自己需要的模塊都已經(jīng)激活,在enable的模塊中一定要有“mod_rewrite”這一項(xiàng),否則重新檢查pcre是否安裝。然后編譯安裝:
      make && make install
       
      編譯后配置:
      cp doc/sysconfig.lighttpd /etc/sysconfig/lighttpd
      mkdir /etc/lighttpd
      cp doc/lighttpd.conf /etc/lighttpd/lighttpd.conf
       
      如果你的Linux是RedHat/CentOS,那么:
      cp doc/rc.lighttpd.redhat /etc/init.d/lighttpd
      如果你的Linux是SuSE,那么:
      cp doc/rc.lighttpd /etc/init.d/lighttpd
      如果你的Linux是ubuntu,那么需要自己創(chuàng)建啟動(dòng)腳本,lighttpd官方wiki上面已經(jīng)給出來(lái)該腳本,地址在:

       
      其他Linux發(fā)行版本可以自行參考該文件內(nèi)容進(jìn)行修改,或者自己寫一個(gè)控制腳本,也不過舉手之勞:

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

       

      然后修改/etc/init.d/lighttpd,把
      LIGHTTPD_BIN=/usr/sbin/lighttpd
      改為
      LIGHTTPD_BIN=/usr/local/lighttpd/sbin/lighttpd
       
      此腳本用來(lái)控制lighttpd的啟動(dòng)關(guān)閉和重起:
      /etc/init.d/lighttpd start
      /etc/init.d/lighttpd stop
      /etc/init.d/lighttpd restart
       
      如果你希望服務(wù)器啟動(dòng)的時(shí)候就啟動(dòng)lighttpd,那么:
      chkconfig lighttpd on
       
      這樣lighttpd就安裝好了,接下來(lái)需要配置lighttpd。
       
      配置 Lighttpd
       
      修改/etc/lighttpd/lighttpd.conf
       
      1)server.modules
      取消需要用到模塊的注釋,mod_rewrite,mod_access,mod_fastcgi,mod_simple_vhost,mod_cgi,mod_compress,mod_accesslog是一般需要用到的。
       
      2)server.document-root, server.error-log,accesslog.filename需要指定相應(yīng)的目錄
       
      3)用什么權(quán)限來(lái)運(yùn)行l(wèi)ighttpd
      server.username            = "nobody"
      server.groupname           = "nobody"
      從安全角度來(lái)說(shuō),不建議用root權(quán)限運(yùn)行web server,可以自行指定普通用戶權(quán)限。
       
      4)靜態(tài)文件壓縮
      compress.cache-dir         = "/tmp/lighttpd/cache/compress"
      compress.filetype          = ("text/plain", "text/html","text/javascript","text/css")
      可以指定某些靜態(tài)資源類型使用壓縮方式傳輸,節(jié)省帶寬,對(duì)于大量AJAX應(yīng)用來(lái)說(shuō),可以極大提高頁(yè)面加載速度。
       
      5)配置ruby on rails
       
      最簡(jiǎn)單的配置如下:
      $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啟動(dòng)10個(gè)FCGI進(jìn)程,lighttpd和FCGI之間使用本機(jī)Unix Socket通信。
       
      Lighttpd的FAQ:無(wú)法啟動(dòng)Ruby on Rails
       
      FastCGI的啟動(dòng)腳本位于Rails應(yīng)用目錄下面public/dispatch.fcgi,如果無(wú)法啟動(dòng)Lighttpd,報(bào)告 FastCGI錯(cuò)誤,你可以嘗試著手工運(yùn)行該腳本cd public && ./dispatch.fcgi,看看是否可以運(yùn)行。一般來(lái)說(shuō),很多人都是在Windows下面創(chuàng)建Rails項(xiàng)目,導(dǎo)致dispatch.fcgi腳本的ruby運(yùn)行路徑指向windows下面的ruby,部署到Linux上面就無(wú)法運(yùn)行了,另外一方面Windows上面創(chuàng)建的Rails項(xiàng)目在 Linux上面dispatch.fcgi沒有可執(zhí)行權(quán)限,所以也需要授予可執(zhí)行權(quán)限。

      安裝 ImageMagick 和 RMagic (可選) Top

      RMagic是ruby處理圖片需要用到的庫(kù),很多ruby應(yīng)用由于都涉及圖片處理的功能,往往需要依賴RMagic,但安裝ImageMagick和RMagic相當(dāng)煩瑣,需要特別的說(shuō)明。
       
      安裝 ImageMagick
      ImageMagick是用C語(yǔ)言實(shí)現(xiàn)的圖形處理庫(kù),有Unix版本和Windows版本。對(duì)于Unix版本來(lái)說(shuō),安裝比較麻煩些,另外不建議安裝ImageMagick二進(jìn)制版本,往往會(huì)導(dǎo)致缺少某些圖片處理功能,導(dǎo)致RMagic安裝失敗。下載ImageMagick源代碼,解壓縮,配置:
      tar xzvf ImageMagick-6.2.9-0.tar.gz
      cd tar xzvf ImageMagick-6.2.9
      ./configure --prefix=/usr/local/ImageMagick
       
      觀察配置后給出來(lái)的支持圖形格式,看看該圖形格式支持是否是yes,如果不是,那么必須先安裝該圖形格式的本地庫(kù)。例如,你應(yīng)該檢查是否已經(jīng)安裝如下rpm包:
      rpm –qa |grep libpng
      rpm –qa |grep libpng-devel
      rpm –qa |grep libjpeg
      rpm –qa |grep gd-devel
      如果你希望支持tiff格式,還應(yīng)該檢查
      rpm –qa |grep libtiff
      如果沒有安裝,那么在Linux安裝光盤找到相應(yīng)rpm包安裝上,再次configure直到確認(rèn)需要的圖形格式全部支持為止,然后編譯安裝:
      make && make install
       
      由于ImageMagic被安裝在我們自行指定的/usr/local/ImageMagick,后面安裝RMagic會(huì)找不到需要用到的ImageMagic的命令和庫(kù),因此需要配置一下操作系統(tǒng):
       
      編輯/etc/profile里面的PATH環(huán)境變量,在最后面加入:
      export PATH=/usr/local/ruby/bin:/usr/local/ImageMagick/bin:$PATH
       
      編輯/etc/ld.so.conf,加入:
      /usr/local/ImageMagick/lib
      執(zhí)行命令:
      ldconfig
      將ImageMagick的庫(kù)加入系統(tǒng)聯(lián)接庫(kù)
       
      然后注銷當(dāng)前用戶重新登錄,便于環(huán)境變量修改生效,執(zhí)行:
      convert logo: logo.gif
      看是否正確生成一個(gè)logo.gif的圖片文件。
       
      安裝 RMagic
      在rubyfoge上面下載RMagic的源代碼發(fā)行包,不要下載gem包,然后解壓縮編譯:
      ./configure
      make && make install
       
      如果配置和編譯過程沒有報(bào)錯(cuò),即大功告成。
       
      對(duì)于MacOSX來(lái)說(shuō),安裝RMagic以上步驟會(huì)出錯(cuò),請(qǐng)參考:
       
      總體來(lái)說(shuō),ImageMagick和RMagic的安裝很容易出錯(cuò),安裝起來(lái)比較困難,如果碰到無(wú)法解決的問題,可以通過Google尋求解決辦法。

      安徽新華電腦學(xué)校專業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線咨詢
      国产午夜福三级在线播放_亚洲精品成a人片在线观看_亚洲自慰一区二区三区_久久棈精品久久久久久噜噜
      <source id="4vppl"><ins id="4vppl"></ins></source>
      <u id="4vppl"><sub id="4vppl"><label id="4vppl"></label></sub></u>
      <object id="4vppl"></object>
    1. <u id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></u>

      <object id="4vppl"></object>
      <b id="4vppl"><sub id="4vppl"><tr id="4vppl"></tr></sub></b>

        <i id="4vppl"><thead id="4vppl"></thead></i>

        <thead id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></thead>
        一区欧美日韩精品一级毛 | 亚洲系列日本系列精品 | 中文在线字幕第一页 | 伊人精品青青草原 | 色婷婷综合缴情综合免费观看 | 小h片在线观看免费观看 |