亚洲人成网站在线播放2019 _日韩国产欧美精品_久久夜色精品国产欧美乱_在线视频福利一区

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

在Linux平臺上安裝和配置Ruby on Rails詳解
2010-01-14 23:33:28  作者:  來源:
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ù)庫為例,從源代碼編譯安裝開始講解。
 
在安裝之前,應(yīng)該確認(rèn)Linux操作系統(tǒng)已經(jīng)安裝好gcc編譯器,否則請用Linux安裝光盤先行安裝gcc編譯器:
gcc –v
如能返回gcc版本號,則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,這樣便于以后的升級,不會和操作系統(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中,便于對全局生效。
 

 

安裝 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ù)庫適配器 Top

rails發(fā)行包中已經(jīng)自帶純r(jià)uby的MySQL數(shù)據(jù)庫適配器,然而對于生產(chǎn)環(huán)境來說,我們?nèi)匀粦?yīng)該下載安裝C版本的數(shù)據(jù)庫適配器,以達(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ù)庫的安裝路徑,如果數(shù)據(jù)庫服務(wù)器和Web服務(wù)器不在同一臺機(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ā)行包:
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支持庫了,下載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á)式庫:
rpm –qa |grep pcre
如果沒有,請從Linux安裝光盤里面安裝。
 
然后下載lighttpd:
tar xzvf lighttpd-1.4.13.tar.gz
cd lighttpd-1.4.13
./configure --prefix=/usr/local/lighttpd
 
configure完畢以后,會給出一個(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)建啟動腳本,lighttpd官方wiki上面已經(jīng)給出來該腳本,地址在:

 
其他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
 
此腳本用來控制lighttpd的啟動關(guān)閉和重起:
/etc/init.d/lighttpd start
/etc/init.d/lighttpd stop
/etc/init.d/lighttpd restart
 
如果你希望服務(wù)器啟動的時(shí)候就啟動lighttpd,那么:
chkconfig lighttpd on
 
這樣lighttpd就安裝好了,接下來需要配置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)限來運(yùn)行l(wèi)ighttpd
server.username            = "nobody"
server.groupname           = "nobody"
從安全角度來說,不建議用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é)省帶寬,對于大量AJAX應(yīng)用來說,可以極大提高頁面加載速度。
 
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啟動10個(gè)FCGI進(jìn)程,lighttpd和FCGI之間使用本機(jī)Unix Socket通信。
 
Lighttpd的FAQ:無法啟動Ruby on Rails
 
FastCGI的啟動腳本位于Rails應(yīng)用目錄下面public/dispatch.fcgi,如果無法啟動Lighttpd,報(bào)告 FastCGI錯(cuò)誤,你可以嘗試著手工運(yùn)行該腳本cd public && ./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 (可選) Top

RMagic是ruby處理圖片需要用到的庫,很多ruby應(yīng)用由于都涉及圖片處理的功能,往往需要依賴RMagic,但安裝ImageMagick和RMagic相當(dāng)煩瑣,需要特別的說明。
 
安裝 ImageMagick
ImageMagick是用C語言實(shí)現(xiàn)的圖形處理庫,有Unix版本和Windows版本。對于Unix版本來說,安裝比較麻煩些,另外不建議安裝ImageMagick二進(jìn)制版本,往往會導(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
 
觀察配置后給出來的支持圖形格式,看看該圖形格式支持是否是yes,如果不是,那么必須先安裝該圖形格式的本地庫。例如,你應(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會找不到需要用到的ImageMagic的命令和庫,因此需要配置一下操作系統(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的庫加入系統(tǒng)聯(lián)接庫
 
然后注銷當(dāng)前用戶重新登錄,便于環(huán)境變量修改生效,執(zhí)行:
convert logo: logo.gif
看是否正確生成一個(gè)logo.gif的圖片文件。
 
安裝 RMagic
在rubyfoge上面下載RMagic的源代碼發(fā)行包,不要下載gem包,然后解壓縮編譯:
./configure
make && make install
 
如果配置和編譯過程沒有報(bào)錯(cuò),即大功告成。
 
對于MacOSX來說,安裝RMagic以上步驟會出錯(cuò),請參考:
 
總體來說,ImageMagick和RMagic的安裝很容易出錯(cuò),安裝起來比較困難,如果碰到無法解決的問題,可以通過Google尋求解決辦法。

安徽新華電腦學(xué)校專業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線咨詢
亚洲人成网站在线播放2019 _日韩国产欧美精品_久久夜色精品国产欧美乱_在线视频福利一区
99久热re在线精品996热视频| 久久久一本二本三本| 青青青青草视频| 成人91免费视频| 久久九九国产精品怡红院| 亚洲欧洲一区二区| 免费看国产一级片| 国产成人鲁鲁免费视频a| 午夜精品久久久久久久99热浪潮 | 欧美中日韩在线| 久久精品一区二| 亚洲一区二区三区香蕉| 国产精品一国产精品最新章节| 国产精品热视频| 日本黄网站免费| 久久免费视频1| 亚洲国产精品女人| 国产在线拍揄自揄视频不卡99| 99在线视频播放| 九九九久久国产免费| 蜜臀精品一区二区| 国产精品美女无圣光视频| 熟女视频一区二区三区| 成人福利网站在线观看11| 欧美另类99xxxxx| 国产日韩欧美另类| 久久国产精品视频| 国产日本欧美在线| 欧美精品做受xxx性少妇| 国产综合动作在线观看| 国产精品久久久久久久久久久新郎| 男人天堂新网址| 国产精品免费看久久久香蕉| 欧美丰满熟妇xxxxx| 国产精品男女猛烈高潮激情| 今天免费高清在线观看国语| 欧美激情视频一区二区三区不卡 | 无码日韩人妻精品久久蜜桃| 91久久精品国产| 视频一区视频二区视频三区视频四区国产| 91国产丝袜在线放| 日韩中文在线字幕| 色狠狠av一区二区三区香蕉蜜桃| 欧日韩免费视频| 国产精品区一区二区三在线播放| 国产在线一区二区三区欧美 | 精品中文字幕在线| 国产一二三四区在线观看| 麻豆一区二区在线观看| 国产精品夜色7777狼人| 亚洲精品不卡| 日韩有码在线视频| 国产自偷自偷免费一区| 制服诱惑一区| 国产成一区二区| 欧美第一黄网| 国产99在线播放| 久久人人97超碰人人澡爱香蕉| 日韩欧美一区二区视频在线播放| 国产精品污www一区二区三区| 国产原创中文在线观看| 国产日韩欧美自拍| 91美女片黄在线观看游戏| 国产精品狼人色视频一区| 免费亚洲一区二区| 亚洲综合成人婷婷小说| 国产v亚洲v天堂无码久久久| 欧美中文娱乐网| 欧美激情精品久久久久久大尺度| 91久久久久久久| 欧美日韩一区二区三区电影| 国产aⅴ夜夜欢一区二区三区| 久久久伊人欧美| 国产自偷自偷免费一区| 视频一区二区在线| 国产精品成人v| 美女精品久久久| 久久夜色精品国产| 国产亚洲欧美一区二区三区| 一区二区免费在线视频| 久久本道综合色狠狠五月| 黄色av免费在线播放| 在线不卡视频一区二区| 色噜噜国产精品视频一区二区| 国产日韩亚洲精品| 日韩中文字幕av在线| 国产精品久久久久久久久久| 97精品视频在线| 欧美极品一区| 亚州av一区二区| 久久夜色撩人精品| 久久精品网站视频| 国产欧美日韩亚洲| 日韩av电影在线观看| 久久综合免费视频| 久久久久日韩精品久久久男男| 国产性生活免费视频| 日韩免费观看网站| 亚洲国产一区二区三区在线播| 国产精品免费一区二区三区 | 国产精品青青草| 91久久精品国产| 国产一区二区黄色| 日韩国产一区久久| 在线一区高清| 久久亚洲欧美日韩精品专区| 久久久精品视频在线观看| 久久综合久久久| 97精品一区二区视频在线观看 | 国产精品久久亚洲7777| 国产在线一区二区三区播放| 欧美久久精品午夜青青大伊人| 久久99导航| 国产精品日韩三级| 亚州国产精品久久久| 久久久久久久久国产精品| 成人免费福利在线| 欧美亚洲国产日本| 亚洲国产精品久久久久婷蜜芽| 国产精品日韩高清| 国产精品亚洲不卡a| 国产日韩精品在线播放| 欧洲精品国产| 午夜欧美不卡精品aaaaa| 久久国产精彩视频| 久久精品国产一区二区三区| 久久久免费观看| 91精品国产91久久久久久| 国产一区二区中文字幕免费看| 日韩欧美国产免费| 无码免费一区二区三区免费播放| 国产精品高清网站| zzijzzij亚洲日本成熟少妇| 国产美女无遮挡网站| 国产日产亚洲精品| 男女视频网站在线观看| 日本精品久久久久影院| 午夜精品久久久久久久久久久久 | 欧美极品第一页| 国产精品高潮视频| 国产精品视频免费在线| 久久久久中文字幕| 久久免费视频网站| 久久精品日韩| 国产成人福利网站| 国产xxxxx在线观看| 国产高清在线不卡| 久久久一本二本三本| 97国产在线视频| 99免费在线视频观看| 99精彩视频| 99久久精品无码一区二区毛片| 成人久久18免费网站漫画| 国内偷自视频区视频综合| 欧美国产一区二区在线| 免费在线成人av| 国产欧美亚洲视频| 国产免费毛卡片| 国产精品自拍视频| 成人在线免费观看一区| 国产日韩欧美在线视频观看| 不卡影院一区二区| 91久久久久久久久久久久久| 91精品国产综合久久久久久丝袜| 99国产在线视频| 国产精品.com| 久久久久久久久久久综合| 久久精品人人做人人爽| 日韩在线播放一区| 国产精品青青草| 欧美日韩国产成人| 亚洲精品中文综合第一页| 大地资源第二页在线观看高清版| 色狠狠久久av五月综合| 欧美日韩二三区| 国产日韩欧美成人| 国产脚交av在线一区二区| 久久狠狠久久综合桃花| 久久精品国产成人| 国产精品视频中文字幕91| 久久国产天堂福利天堂| 亚洲制服欧美久久| 日本高清不卡在线| 欧美中文字幕在线观看| 欧美亚洲丝袜| 99国产在线视频| 久久色精品视频| 中文字幕剧情在线观看一区| 亚洲高清视频一区二区| 青草青草久热精品视频在线观看| 国产在线精品一区二区三区》| 国产精品自拍片| 久久精品国产精品国产精品污 | 国产精品电影一区| 懂色av粉嫩av蜜臀av| 欧美日韩精品久久| 国产一区二区在线免费| 99在线视频播放| zzjj国产精品一区二区| 国产99在线播放|