自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在Nginx上運(yùn)行Ruby on Rails

原創(chuàng)
開發(fā) 前端 后端
本文將指導(dǎo)您在Ubuntu/Debian上從Ruby和Rails開始,一步一步的安裝配置Ruby on Rails環(huán)境,并結(jié)合Nginx運(yùn)行環(huán)境獲得優(yōu)異的性能。

【51CTO譯文】Nginx已經(jīng)成為世界第三大Web服務(wù)器,在國(guó)內(nèi)十大網(wǎng)站使用的Web服務(wù)器調(diào)查中,Nginx也名列前茅。Ruby on Rails是近幾年開始流行的新一代Web開發(fā)語(yǔ)言,其易用、敏捷的特性收到很多Web開發(fā)人員的矚目。

本文將指導(dǎo)您在Ubuntu/Debian上從Ruby和Rails開始,一步一步的安裝配置Ruby on Rails環(huán)境,并結(jié)合Nginx運(yùn)行環(huán)境獲得優(yōu)異的性能。

安裝Ruby

  1. export PATH="${PATH}:/var/lib/gems/1.8/bin/" 
  2. echo 'export PATH="${PATH}:/var/lib/gems/1.8/bin/"' >> /etc/bash.bashrc  
  3. aptitude install ruby rubygems vim-ruby rub y-dev libzlib-ruby   
  4. libyaml-ruby libreadline-ruby libncurses-ruby rdoc ri libcurses-ruby   
  5. libruby libruby-extras libfcgi-ruby build-essential libopenssl-ruby   
  6. libdbm-ruby libdbi-ruby libxml-ruby libxml2-dev 

 

安裝Rails

  1. gem install -v=2.3.5 rails 

 

gem install rails也應(yīng)該可以工作,但2.3.6-2.3.8(目前正在編寫)存在問題。如果你想嘗試***版本,則可以使用:

  1. gem install rails –pre 

或使用RVM,RVM是一個(gè)命令行工具,允許我們更容易安裝,管理和使用多個(gè)Ruby環(huán)境。

應(yīng)用程序

我的新應(yīng)用程序叫做myapp.example.com。

  1. cd /var/www  
  2. rails new myapp.example.com  
  3. cd myapp.example.com 

Thin服務(wù)器

Thin將成為Ruby服務(wù)器:

  1. gem install thin  
  2. thin install  
  3. /usr/sbin/update-rc.d -f thin defaults  
  4. thin config -C /etc/thin/myapp.example.com -c 
  5. /var/www/myapp.example.com --servers 3 -e development # or: -e production for caching, etc 

如果你不喜歡Thin,還有Mongrels:

  1. aptitude install mongrel mongrel-cluster  
  2. mongrel_rails cluster::configure -e development -p 3000 -N 3 -c /var/www/myapp.example.com 
  3. -a 127.0.0.1 # or: -e production for caching, etc  
  4. mkdir /etc/mongrel_cluster  
  5. sudo ln -nfs /var/www/myapp.example.com/config/mongrel_cluster.yml /etc/mongrel_cluster/myapp.example.com.yml  
  6. #sudo ln -nfs /var/www/myapp.example.com/config/mongrel_cluster.yml 
  7. /etc/mongrel-cluster/sites-enabled/myapp.example.com.yml 

安裝Nginx

Nginx將作為Web服務(wù)器,代理發(fā)送給Thin的Ruby請(qǐng)求,運(yùn)行在端口3000-3002上,使用下面的命令進(jìn)行安裝:

  1. aptitude install nginx 

#p#安裝好Nginx后,創(chuàng)建一個(gè)Vhost(虛擬主機(jī)),編輯/etc/nginx/sites-enabled/myapp.example.com,輸入:

  1. upstream myapp {  
  2.     server 127.0.0.1:3000;  
  3.     server 127.0.0.1:3001;  
  4.     server 127.0.0.1:3002;  
  5. }  
  6. server {  
  7.     listen   80;  
  8.     server_name .example.com;  
  9.    
  10.     access_log /var/www/myapp.example.com/log/access.log;  
  11.     error_log  /var/www/myapp.example.com/log/error.log;  
  12.     root       /var/www/myapp.example.com;  
  13.     index      index.html;  
  14.    
  15.     location / {  
  16.         proxy_set_header  X-Real-IP  $remote_addr;  
  17.         proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;  
  18.         proxy_set_header  Host $http_host;  
  19.         proxy_redirect    off;  
  20.         try_files /system/maintenance.html $uri $uri/index.html $uri.html @ruby;  
  21.     }  
  22.    
  23.     location @ruby {  
  24.         proxy_pass http://myapp;  
  25.     }  

數(shù)據(jù)庫(kù)

首先安裝SQLite:

  1. aptitude install -y libdbd-sqlite3-ruby sqlite3 libsqlite3-dev libsqlite3-ruby  
  2. gem install sqlite3-ruby 

MySQL

如果你想使用MySQL,則使用下面的命令進(jìn)行安裝:

  1. aptitude install -y libmysqlclient-dev  
  2. gem install mysql 

 

然后修改你的/var/www/myapp.example.com/config/database.yml,如:

  1. development:  
  2.     adapter: mysql  
  3.     host: localhost  
  4.     database: myapp  
  5.     username: myapp  
  6.     password: xxxxxxx 

 

注意,database.yml不支持Tab鍵,如果你使用的是vim,可能需要做如下設(shè)置:

  1. :set expandtab  
  2. #:set tabstop=4 # how many spaces should tabs be replaced withs  
  3. :retab 

然后將下面的內(nèi)容添加到./Gemfile,讓你的應(yīng)用程序使用MySQL:

  1. gem 'mysql''2.8.1' 

假設(shè)你已經(jīng)有一個(gè)MySQL服務(wù)器在運(yùn)行,如果沒有,你需要先運(yùn)行aptitude install mysql-server安裝它。

gem安裝配置

  1. gem install uuidtool  
  2. gem install ruby-debug  
  3. gem install ruby-graphviz  
  4. gem install json  
  5. gem install activemerchant 

啟動(dòng)應(yīng)用程序

讓我們重啟我們的守護(hù)程序,看看它是否能正常工作。

對(duì)于Thin:

  1. /etc/init.d/thin restart && /etc/init.d/nginx reload; tail -f log/*.log 

 

對(duì)于Mongrel

  1. mongrel_cluster_ctl restart && /etc/init.d/nginx reload; tail -f log/*.log 

在config/routs.rb中添加:

  1. map.root :controller => "home" 

創(chuàng)建一個(gè)home控制器,移除‘Welcome aboard’HTML:

  1. script/generate controller home index  
  2. rm public/index.html  
  3. echo '<h1>HeyO!h1><object width="640" height="385">
  4. <param name="movie" value="http://www.youtube.com/v/9X2u2cdvJSg?fs=1&hl=en_US">param>
  5. <param name="allowFullScreen" value="true">param><param name="allowscriptaccess" value="always">
  6. param>
  7. <embed src="http://www.youtube.com/v/9X2u2cdvJSg?fs=1&hl=en_US" 
  8. type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" 
  9. width="640" height="385">embed>
  10. object>> app/views/home/index.erb 

如果一切順利,在瀏覽器中輸入你創(chuàng)建的Vhost地址,你將會(huì)看到預(yù)期的內(nèi)容,到此,我們就成功地在Ubuntu上的Nginx安裝配置并運(yùn)行起了Ruby on Rails環(huán)境。

 

【編輯推薦】

  1. 跑起來吧 Ruby on Rails開發(fā)初體驗(yàn)
  2. 解讀Ruby on Rails的成功秘籍
  3. Nginx服務(wù)器備受矚目的原因
  4. 安裝Nginx過程全解析
責(zé)任編輯:佚名 來源: 51CTO.com
相關(guān)推薦

2009-08-27 10:21:22

Ruby on Rai

2009-08-06 09:13:36

Ruby on Rai

2015-10-14 17:27:18

性能

2009-12-14 15:30:43

安裝Ruby on R

2009-12-17 14:29:50

Ruby on Rai

2015-10-10 11:00:05

RubyRails性能

2009-12-16 16:37:59

Ruby on Rai

2009-12-16 15:23:33

Ruby on rai

2009-12-16 15:41:10

Ruby on Rai

2009-12-16 17:37:31

Ruby on Rai

2009-12-17 17:37:42

Ruby on Rai

2010-09-25 14:39:29

Bruce Tate

2009-09-29 17:04:29

2009-12-16 16:24:00

Ruby on Rai

2010-07-12 09:22:05

RubyRuby on rai

2013-03-28 12:42:02

RubyRails

2011-08-31 17:41:07

Ruby

2009-12-16 17:24:26

Ruby on Rai

2009-12-18 13:13:59

Ruby on Rai

2009-03-30 14:40:45

Ruby on RaiRails更新Rails
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)