本教程只適合 Ubuntu Server 用于部署項(xiàng)目到線上,建議使用同樣的 Ubuntu 版本,以免遇到一些版本不同帶來的問題。
本教程適合新手初次部署 Rails 應(yīng)用;
本文測(cè)試通過環(huán)境
Ubuntu 12.04 Server,
服務(wù)器安裝測(cè)試于 Linode VPS (Ubuntu 12.04 LTS (GNU/Linux 3.4.2-x86_64-linode25 x86_64)。
配置 Ubuntu Server 系統(tǒng)
如果你是國(guó)內(nèi)服務(wù)器,推薦修改網(wǎng)易的源
輸入 sudo vi /etc/apt/sources.list 將里面的內(nèi)容替換成:
deb http://mirrors.163.com/ubuntu/ precise main restricted universe multiversedeb
http://mirrors.163.com/ubuntu/ precise-security main restricted universe multiversedeb
http://mirrors.163.com/ubuntu/ precise-updates main restricted universe multiversedeb
http://mirrors.163.com/ubuntu/ precise-proposed main restricted universe multiversedeb
http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiversedeb-src
http://mirrors.163.com/ubuntu/ precise main restricted universe multiversedeb-src
http://mirrors.163.com/ubuntu/ precise-security main restricted universe multiversedeb-src
http://mirrors.163.com/ubuntu/ precise-updates main restricted universe multiversedeb-src
http://mirrors.163.com/ubuntu/ precise-proposed main restricted universe multiversedeb-src
http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse
然后更新一下:
$ sudo apt-get update
安裝必要的三方庫(kù)
$ sudo apt-get install -y wget vim build-essential openssl libreadline6 libreadline6-dev libmysqlclient-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libxml2-dev libxslt-dev libcurl4-openssl-dev autoconf automake libtool imagemagick libmagickwand-dev libpcre3-dev nodejs libpq-dev
安裝 Ruby, Rails 及相關(guān)
安裝 RVM
$ /curl -L https://get.rvm.io | bash -s stable $ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] . "$HOME/.rvm/scripts/rvm"' >>~/.bashrc $ source ~/.bashrc $ rvm -v
安裝 Ruby
如果你是國(guó)內(nèi)服務(wù)器,推薦將 RVM 的安裝源替換成 Taobao 的鏡像服務(wù)器,這樣安裝能更快!
$ sed -i -e 's/ftp/.ruby-lang/.org//pub//ruby/ruby/.taobao/.org//mirrors//ruby/g' ~/.rvm/config/db
用 RVM 安裝 Ruby:
$ rvm pkg install readline openssl $ rvm install 2.0.0
$ rvm use 2.0.0 --default $ ruby -vruby 2.0.0p247
國(guó)內(nèi)服務(wù)器推薦替換 RubyGems 的到淘寶鏡像:
$ gem sources --remove https://rubygems.org/
$ gem sources -a http://ruby.taobao.org/
$ gem sources -l *** CURRENT SOURCES *** http://ruby.taobao.org
安裝 Rails
$ gem install rails $ rails -vRails 4.0.0
安裝 MySQL 或其他數(shù)據(jù)庫(kù)
當(dāng)然,如果你的項(xiàng)目是用的其他數(shù)據(jù)庫(kù),請(qǐng)自己解決
$ sudo apt-get install mysql-server
跟著提示安裝,此處涉及東西在本教程之外,請(qǐng)自行 Google 相關(guān)教程解決。
部署你的網(wǎng)站
接下來你可以通過 Git 或其他方式將你項(xiàng)目的源代碼提交到服務(wù)器上面,建議放到用戶的 ~/www 下面。
為了方便教程,我們假設(shè),用戶是 jason (擁有 sudo 權(quán)限), 項(xiàng)目名 gitlab 后面遇到類似的地方請(qǐng)更具自己的情況修改
$ cd ~/ $ pwd /home/jason/
$ mkdir www
$ cd www
$ git clone git@you.host:gitlab.git
$ cd gitlab
$ bundle install
修改你的數(shù)據(jù)庫(kù)配置,創(chuàng)建數(shù)據(jù)庫(kù),合并 migration ...這些是 Rails 開發(fā)的基礎(chǔ),這里就不細(xì)說了,重點(diǎn)是最后你能讓你的項(xiàng)目能用 rails s 跑起來!
$ rails s -e production
安裝 Passenger 用于部署 Rails 應(yīng)用
$ gem install passenger $ passenger -vPhusion Passenger version 4.0.10
由于 Passenger 需要重新編譯 Nginx,如果你之前有安裝 Nginx 需要卸載掉!
nginx -v,有的話卸載 $ sudo apt-get remove nginx-common nginx-full nginx
用 Passenger 安裝 Nginx
$ sudo passenger-install-nginx-module
接下來會(huì)出現(xiàn)提示,選擇 Yes: download, compile and install Nginx for me. (recommended) ,對(duì)于后面的提示一直選默認(rèn)哪項(xiàng),敲回車。
最后看到
Nginx with Passenger support was successfully installed.
表示你人品很好 Nginx 安裝成功!否則請(qǐng)看 Passenger 官方安裝文檔 自行解決……
安裝 Nginx init script
接下來你需要安裝 Nginx 的啟動(dòng)腳本,以及配置開機(jī)自動(dòng)啟動(dòng)
$ cd ~/ $ git clone git://github.com/jnstq/rails-nginx-passenger-ubuntu.git $ sudo mv rails-nginx-passenger-ubuntu/nginx/nginx /etc/init.d/nginx $ sudo chmod +x /etc/init.d/nginx
配置 Nginx 開機(jī)自啟動(dòng)
$ sudo update-rc.d nginx defaults
配置 Nginx 與網(wǎng)站
打開 Nginx 的 nginx.conf
$ sudo vim /opt/nginx/conf/nginx.conf
PS: 如果你不是 Passenger 安裝的 Nginx,這個(gè)配置文件還有可能在 /usr/local/nginx/ 或 /etc/nginx 下面
請(qǐng)參考下面的例子修改:
user jason; # 修改成你的系統(tǒng)帳號(hào)名,不然項(xiàng)目目錄 /home/jason/www 這里沒有權(quán)限 worker_processes 8; # 修改成和你 CPU 核數(shù)一樣 pid /var/run/nginx.pid; http { include mime.types; default_type application/octet-stream; client_max_body_size 50m; sendfile on; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; gzip on; gzip_disable "msie6"; ## ------------ 重點(diǎn)修改內(nèi)容 -------- server { # 此處用于防止其他的域名綁定到你的網(wǎng)站上面 listen 80 default; return 403; } server { listen 80; server_name you.host.name; # 請(qǐng)?zhí)鎿Q成你網(wǎng)站的域名 rails_env production; root /home/jason/www/gitlab/public; passenger_enabled on; location ~ ^(/assets) { access_log off; # 設(shè)置 assets 下面的瀏覽器緩存時(shí)間為最大值(由于 Rails Assets Pipline 的文件名是根據(jù)文件修改產(chǎn)生的 MD5 digest 文件名,所以此處可以放心開啟) expires max; } } ## --------------------------------- }
重啟 Nginx
$ sudo /etc/init.d/nginx start
部署完成!可以嘗試訪問你的域名。
其它網(wǎng)友的補(bǔ)充: 推薦查看
剛才試了一下,很輕松。
就當(dāng)是給入門級(jí)的一個(gè)教程好了。。
注意:這篇文章只介紹如何在 Ubuntu 12.04 Server 上安裝 Rails 環(huán)境,不保證你的 Rails 項(xiàng)目一定可以在 12.04 上正常運(yùn)行。
本文測(cè)試環(huán)境
•裝的系統(tǒng)是: Ubuntu 12.04 Server LTS amd64
•安裝于: OSX 上 Parallels Desktop 虛擬機(jī)
Ubuntu 安裝
很常見的安裝:
1.選擇 English 安裝
2.Location 選擇 other -> Asia -> China
3.繼續(xù)安裝,一路默認(rèn)。。
4.輸入姓名、用戶名和密碼
5.Write the changes to disks and configure LVM? Yes>
6.Write the changes to disks? Yes>
7.Software selection 階段:選擇 OpenSSH server (按空格鍵)(你以后會(huì)用到ssh的。。。)
8.有關(guān) GRUB 的問題,如果你是多系統(tǒng),請(qǐng)參考其他資料
9.安裝完成,自動(dòng)重啟。
更新系統(tǒng)
1.登陸系統(tǒng)
2.替換更新源: $ sudo vim /etc/apt/sources.list 我在教育網(wǎng),所以換的教育網(wǎng)的源
3.更新軟件列表: $ sudo aptitude update
4.更新軟件: $ sudo aptitude upgrade
5.重啟: $ sudo reboot
安裝 Ruby 、 Rails 及相關(guān)
簡(jiǎn)單方法:
我寫了一個(gè)腳本,可以直接用:
Server 版 Ubuntu 12.04
$ curl -L https://raw.github.com/gist/2521307/install-rails-12-04-server.sh | bash
Desktop 版 Ubuntu 12.04
$ curl -L https://raw.github.com/gist/2521307/install-rails-12-04-desktop.sh | bash
跑完腳本后如果 rails -v 失敗,重新開一個(gè)terminal/shell。
復(fù)雜方法:
1.安裝 RVM: $ curl -L get.rvm.io | bash -s stable
2.將 rvm 加入 PATH : $ source ~/.rvm/scripts/rvm
3.查看需要安裝的包: $ rvm requirements
4.安裝上一步提示所需的包: $ sudo aptitude install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion
5.安裝 Ruby 1.9.3 : $ rvm install 1.9.3
6.替換 gem 的 source : $ gem source -r http://rubygems.org/;gem source -a http://ruby.taobao.org
7.安裝 Bundler 和 Rails : $ gem install bundler rails
測(cè)試安裝是否成功
1.$ rails new path/to/your/new/application
2.$ cd path/to/your/new/application
3.$ vim Gemfile ,將第一行的 source 改為 http://ruby.taobao.org ,末尾行添加: gem 'therubyracer'
4.$ rails server
5.用瀏覽器打開 http://ip.of.your.host:3000/ ,如果可以訪問,則安裝成功。
您可能感興趣的文章:- 快速安裝Ruby on Rails的簡(jiǎn)明指南
- win7安裝ruby on rails開發(fā)環(huán)境
- Windows下Ruby on Rails開發(fā)環(huán)境安裝配置圖文教程
- Ruby On Rails上手筆記(安裝使用全過程)
- CentOS7下搭建ruby on rails開發(fā)環(huán)境
- Ruby on Rails下的圖像處理入門教程
- 幾個(gè)加速Ruby on Rails的編程技巧
- Ruby on rails安裝后去掉DL is deprecated,please use Fiddle警告信息的方法【測(cè)試可用】