




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
ruby安裝配置詳解rubyonrails推薦的生產(chǎn)運(yùn)行環(huán)境是Linux/FreeBSD/Unix,即Unix系列的操作系統(tǒng),采用lighttpd+FCGI的解決方案。以下我將以Linux操作系統(tǒng),lighttpd+FCGI,MySQL數(shù)據(jù)庫為例,從源代碼編譯安裝開始講解。在安裝之前,應(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解析器安裝rubyonrails安裝ruby的數(shù)據(jù)庫適配器安裝Ruby的FCGI支持安裝lighttpdWebServer安裝ImageMagick和RMagic(可選)FAQ(疑難解答)安裝Ruby解析器備top一些Linux發(fā)行版本,MacOSX操作系統(tǒng)都自帶Ruby解析器,但是我仍然建議自行下載ruby源代碼編譯安裝。因?yàn)橐环矫婵梢宰约憾ㄖ苧uby安裝的路徑,另一方面可以在編譯過程中自行添加更多的特性。ruby的源代碼可以從Ruby官方網(wǎng)站下載:/en/downloads/下載源代碼包到本地Linux主機(jī),然后解壓縮,進(jìn)入該目錄,進(jìn)行配置,編譯和安裝:tarxzvfruby-1.8.5.tar.gzcdruby-1.8.5./configure-prefix=/usr/local/rubymake&&makeinstall如果想瀏覽所有的configure參數(shù),可以:./configure-helpImore如果不定制安裝的目錄,默認(rèn)將安裝到/usr/local目錄下面。然而我建議自行定制一個(gè)ruby的安裝目錄,例如/usr/local/ruby,這樣便于以后的升級(jí),不會(huì)和操作系統(tǒng)其他軟件混在一起。安裝好以后,修改操作系統(tǒng)PATH路徑,加入/usr/local/ruby/bin:exportPATH=/usr/local/ruby/bin:$PATH將我們自己安裝的ruby放在系統(tǒng)PATH前面,避免操作系統(tǒng)自帶的ruby造成的干擾。在Linux上,一般將設(shè)置放在/etc/profile中,便于對(duì)全局生效。安裝rubyonrails咎top在安裝rails之前,要先安裝rubygems0rubygems是ruby的在線包管理工具,可以從rubyforge下載rubygems:/projects/rubygems/下載好源代碼包,解壓縮,安裝:tarxzvfrubygems-0.9.0.tgzcdrubygems-0.9.0/rubysetup.rb然后就可以安裝rails了,在確認(rèn)服務(wù)器已經(jīng)連接互聯(lián)網(wǎng)的情況下執(zhí)行:geminstallrails-y即通過gem從rubyforge網(wǎng)站下載rails所有依賴包安裝。安裝好rails以后,可以執(zhí)行:rails-v確認(rèn)一下rails的版本。安裝ruby的數(shù)據(jù)庫適配器5rails發(fā)行包中已經(jīng)自帶純r(jià)uby的MySQL數(shù)據(jù)庫適配器,然而對(duì)于生產(chǎn)環(huán)境來說,我們?nèi)匀粦?yīng)該下載安裝C版本的數(shù)據(jù)庫適配器,以達(dá)到更好的性能。下載mysql-ruby-2.7.3.tar.gz:/en/mysql/ruby/tarxzvfmysql-ruby-2.7.3.tar.gzcdmysql-ruby-2.7.3rubyextconf.rb--with-mysql-dir=/opt/mysql5make&&makeinstall注意--with-mysql-dir應(yīng)該指向MySQL數(shù)據(jù)庫的安裝路徑,如果數(shù)據(jù)庫服務(wù)器和Web服務(wù)器不在同一臺(tái)機(jī)器上,那么Web服務(wù)器上也必須安裝MySQL軟件,因?yàn)閞uby的C版本MySQL適配器需要在編譯的時(shí)候聯(lián)接MySQL的系統(tǒng)庫。安裝Ruby的FCGI支持畬TOP由于ruby的fcgi支持庫需要在編譯的時(shí)候聯(lián)接FCGI的系統(tǒng)庫,因此我們需要先安裝FCGI庫,下載FCGI源代碼發(fā)行包:/dist/tarxzvffcgi-2.4.0.tar.gzcdfcgi-2.4.0./configure--prefix=/usr/local/fcgimake&&makeinstall同樣,將fcgi安裝在自己指定的目錄下,而不是默認(rèn)的/usr/local,避免多個(gè)軟件混在一起。然后就可以安裝ruby的fcgi支持庫了,下載ruby-fcgi-0.8.7.tar.gz:/projects/fcgi/tarxzvfruby-fcgi-0.8.7.tar.gzcdruby-fcgi-0.8.7rubyinstall.rbconfig----with-fcgi-include=/usr/local/fcgi/include--with-fcgi-lib=/usr/local/fcgi/librubyinstall.rbsetuprubyinstall.rbinstall安裝lighttpdWebServer^top安裝Lighttpd在安裝lighttpd之前,應(yīng)該確認(rèn)操作系統(tǒng)已經(jīng)安裝pcre,即Perl兼容的規(guī)則表達(dá)式庫:rpm-qa|greppcre如果沒有,請(qǐng)從Linux安裝光盤里面安裝。然后下載lighttpd:/download/tarxzvflighttpd-1.4.13.tar.gzcdlighttpd-1.4.13./configure--prefix=/usr/local/lighttpdconfigure完畢以后,會(huì)給出一個(gè)激活的模塊和沒有激活模塊的清單,可以檢查一下,是否自己需要的模塊都已經(jīng)激活,在enable的模塊中一定要有“mod_rewrite”這一項(xiàng),否則重新檢查pcre是否安裝。然后編譯安裝:make&&makeinstall編譯后配置:
C代碼C代碼..8.19.20.mkdir/etc/lighttpdcpdoc/lighttpd.conf/etc/lighttpd/lighttpd.conf如果你的Linux是RedHat/CentOS,那么:cpdoc/rc.lighttpd.redhat/etc/init.d/lighttpd如果你的Linux是SuSE,那么:cpdoc/rc.lighttpd/etc/init.d/lighttpd如果你的Linux是ubuntu,那么需要自己創(chuàng)建啟動(dòng)腳本,lighttpd官方wiki上面已經(jīng)給出來該腳本,地址在:http://redmine.lighttpd.nct/wiki/1/ScriptsUbuntu其他Linux發(fā)行版本可以自行參考該文件內(nèi)容進(jìn)行修改,或者自己寫一個(gè)控制腳本,也不過舉手之勞:#!/bin/shcase"$1"instart)/usr/local/lighttpd/sbin/lighttpd-f/etc/lighttpd/lighttpd.conf>/dev/null2>&1;;stop)killalllighttpd;;restart)$0stopsleep1$0start;;*)echo"Usage:lighttpd.sh{start|stop|restart}";;esacexit0然后修改/etc/init.d/lighttpd,把LIGHTTPD_BIN=/usr/sbin/lighttpd改為L(zhǎng)IGHTTPD_BIN=/usr/local/lighttpd/sbin/lighttpd此腳本用來控制lighttpd的啟動(dòng)關(guān)閉和重起:/etc/init.d/lighttpdstart/etc/init.d/lighttpdstop/etc/init.d/lighttpdrestart如果你希望服務(wù)器啟動(dòng)的時(shí)候就啟動(dòng)lighttpd,那么:chkconfiglighttpdon這樣lighttpd就安裝好了,接下來需要配置lighttpdo配置Lighttpd修改/etc/lighttpd/lighttpd.confserver.modules取消需要用到模塊的注釋,mod_rewrite,mod_.access,mod_fastcgi,mod_simple_vhost,mod_cgi,mod_compress,mod_accesslog是一般需要用到U的。server.document-root,server.error-logaccesslog.filename需要指定相應(yīng)的目錄用什么權(quán)限來運(yùn)行l(wèi)ighttpdserver.username="nobody"server.groupname="nobody"從安全角度來說,不建議用root權(quán)限運(yùn)行webserver,可以自行指定普通用戶權(quán)限。靜態(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)用來說,可以極大提高頁面加載速度。5)配置rubyonrails最簡(jiǎn)單的配置如下:$HTTP["host"]==""{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ī)UnixSocket通信。Lighttpd的FAQ:無法啟動(dòng)RubyonRailsFastCGI的啟動(dòng)腳本位于Rails應(yīng)用目錄下面public/dispatch.fcgi,如果無法啟動(dòng)Lighttpd,報(bào)告FastCGI錯(cuò)誤,你可以嘗試著手工運(yùn)行該腳本cdpublic&&./dispatch.fcgi,看看是否可以運(yùn)行。一般來說,很多人都是在Windows下面創(chuàng)建Rails項(xiàng)目,導(dǎo)致dispatch.fcgi腳本的ruby運(yùn)行路徑指向windows下面的ruby,部署到Linux上面就無法運(yùn)行了,另外一方面Windows上面創(chuàng)建的Rails項(xiàng)目在Linux上面dispatch.fcgi沒有可執(zhí)行權(quán)限,所以也需要授予可執(zhí)行權(quán)限。安裝ImageMagick和RMagic(可選)&tqpRMagic是ruby處理圖片需要用到的庫,很多ruby應(yīng)用由于都涉及圖片處理的功能,往往需要依賴RMagic,但安裝ImageMagick和RMagic相當(dāng)煩瑣,需要特別的說明。安裝ImageMagickImageMagick是用C語言實(shí)現(xiàn)的圖形處理庫,有Unix版本和Windows版本。對(duì)于Unix版本來說,安裝比較麻煩些,另外不建議安裝ImageMagick二進(jìn)制版本,往往會(huì)導(dǎo)致缺少某些圖片處理功能,導(dǎo)致RMagic安裝失敗。下載ImageMagick源代碼,解壓縮,配置:tarxzvfImageMagick-6.2.9-0.tar.gzcdtarxzvfImageMagick-6.2.9./configure--prefix=/usr/local/ImageMagick觀察配置后給出來的支持圖形格式,看看該圖形格式支持是否是yes,如果不是,那么必須先安裝該圖形格式的本地庫。例如,你應(yīng)該檢查是否已經(jīng)安裝如下rpm包:rpm-qa|greplibpngrpm-qa|greplibpng-develrpm-qa|greplibjpegrpm-qa|grepgd-devel如果你希望支持tiff格式,還應(yīng)該檢查rpm-qa|greplibtiff如果沒有安裝,那么在Linux安裝光盤找到相應(yīng)rpm包安裝上,再次configure直到確認(rèn)需要的圖形格式全部支持為止,然后編譯安裝:make&&makeinstall由于ImageMagic被安裝在我們自行指定的/usr/local/ImageMagick,后面安裝RMagic會(huì)找不到需要用到的ImageMagic的命令和庫,因此需要配置一下操作系統(tǒng):編輯/et
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 加強(qiáng)建設(shè)工程施工合同管理有效防范工程承包法律風(fēng)險(xiǎn)
- 代銷售居間合同范例
- 保潔上崗合同范例
- 分成合同范例上樣
- 個(gè)人包工協(xié)議合同范例
- 買賣委托居間合同范例
- 電視劇對(duì)旅游者到拍攝地出游意愿的影響研究
- 厭氧菌群合成己酸的生物強(qiáng)化及其反饋抑制機(jī)理解析
- 上海醫(yī)院合同范本
- 云南書采購中標(biāo)合同范例
- 北京廣通信達(dá)it運(yùn)維管理平臺(tái)簡(jiǎn)介-20210818003557
- DB33 1121-2016 民用建筑電動(dòng)汽車充電設(shè)施配置與設(shè)計(jì)規(guī)范
- 石油化工企業(yè)班組安全建設(shè)培訓(xùn)課件
- DB31∕731-2020 船舶修正總噸單位產(chǎn)品能源消耗限額
- 3.1.1農(nóng)業(yè)區(qū)位因素及其變化-農(nóng)業(yè)區(qū)位因素教學(xué)課件高中地理人教版(2019)必修二
- 《文化的基本內(nèi)涵》課件
- 探索人工智能世界
- 食材配送服務(wù)方案投標(biāo)文件(技術(shù)方案)
- 精通版四年級(jí)下冊(cè)小學(xué)英語全冊(cè)單元測(cè)試卷(含聽力音頻文件)
- 中國(guó)慢性阻塞性肺疾病基層診療指南(2024年)解讀
- 八年級(jí)地理下冊(cè) 8.3 新疆維吾爾自治區(qū)的地理概況與區(qū)域開發(fā)說課稿 (新版)湘教版
評(píng)論
0/150
提交評(píng)論