Ruby的更新速度比較快,社區最新消息表明Ruby2.0新功能已經凍結,準備發佈正式版本。在之前的ruby1.8.x時代,爲了獲取生產環境較高性能,需要安裝部署REE,到了ruby1.9.x版本,自帶的ruby解釋器性能已經有了極大的提升,因此安裝部署方式也有了較大的區別和變化。本文以Ubuntu Server 12.04 LTS 64位版本爲基礎環境部署最新的RoR生產環境。
1、準備工作
$sudo apt-get update
$sudo apt-get upgrade
//矯正時區
$sudo dpkg-reconfigure tzdata
選擇Asia,然後選擇chongqing,如果你不在天朝,根據情況選擇。
2、安裝所需的linux包
$sudo apt-get install build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libxml2-dev libxslt-dev autoconf libc6-dev zlib1g-dev libssl-dev build-essential curl git-core libc6-dev g++ gcc
3、爲Rails添加用戶和組
$sudo addgroup passenger
$sudo adduser shuqi888
$sudo usermod -G passenger,www-data,sudo shuqi888
$su - shuqi888
4、安裝Ruby1.9.3
$bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer) //安裝rvm控制ruby的版本
$source .bashrc //首次需要加載rvm
$rvm –v //查看rvm的版本
$sudo vi ~/.bashrc //打開bashrc文件,添加以下代碼:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
$source ~/.bashrc //打開新終端運行bashrc
$rvm install 1.9.3 //安裝ruby,1.9.3爲ruby的版本
$rvm use 1.9.3 default //設置1.9.3爲默認的版本
$ruby –v //查看當前ruby的版本,已經是最新的ruby1.9.3p327了,注意ruby1.9爆出了DoS漏洞,需更新升級到官方最新的p327補丁包。漏洞詳情鏈接 http://www.ruby-lang.org/en/news/2012/11/09/ruby19-hashdos-cve-2012-5371/
5、安裝Rails3.2
//安裝libssl支持
$sudo apt-get install openssl libssl-dev
$sudo apt-get install libopenssl-ruby1.9.1
6、安裝passenger/Nginx
$gem install passenger
$sudo apt-get install libcurl4-openssl-dev
$rvmsudo passenger-install-nginx-module
//安裝nginx啓動腳本
$wget https://raw.github.com/gist/1548664/53f6d7ccb9dfc82a50c95e9f6e2e60dc59e4c2fb/nginx
$sudo cp nginx /etc/init.d/
$sudo chmod +x /etc/init.d/nginx
$sudo update-rc.d nginx defaults
$sudo /etc/init.d/nginx start //啓動nginx
$sudo /opt/nginx/sbin/nginx -s stop //停止nginx
$sudo /etc/init.d/nginx restart //重啓nginx
//簡單修改配置
sudo vi /opt/nginx/conf/nginx.conf
去除gzin on的註釋,此行作用是對訪問網站進行代碼的壓縮,加快訪問速度
server {
listen 80;
server_name www.shuqi888.com;
root /home/shuqi888public; #項目中的public目錄
passenger_enabled on;
rails_env development; #此處可以設置,rails的模式(開發、生產)
#charset koi8-r;
#access_log logs/host.access.log main;
#註釋下面的配置
# location / {
# root html;
# index index.html index.htm;
# }
....
}
//將應用和應用目錄下所有文件夾和文件都置爲權限777。
sudo chmod 777 –R /home/shuqi888/railsprojects/
7、安裝Node.js
$sudo apt-get install python-software-properties
$sudo add-apt-repository ppa:chris-lea/node.js //這一步執行如果報錯,重新運行此命令即可
$sudo apt-get update
$sudo apt-get install nodejs //聯網安裝,耗時比較長
8、安裝MySQL
$sudo apt-get install mysql-server mysql-client //牢記安裝過程中輸入的密碼
$sudo apt-get install libmysql-ruby libmysqlclient-dev
$gem install mysql2
$gem install rails //安裝rails最新版
$rails -v //查看已安裝rails版本,我的是rails 3.2.9
$gem –v //查看gem版本,我的是1.8.24
//安裝Sqlite3支持
$sudo apt-get install sqlite3
$sudo apt-get install libsqlite3-dev
$gem install sqlite3-ruby