安装rvm
$ sudo apt-get update
$ sudo apt-get upgrade
$ curl -L get.rvm.io | bash -s stable
//当看到# Thank you for using RVM! 这样的文字时说明rvm 安装完成
//若提示找不到公钥,执行下边语句
$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
//然后,重新执行,安装完rvm之后,需配置终端,以便下次打开终端能直接只用rvm。更改终端配置方法:参见https://rvm.io/integration/gnome-terminal
$ curl -L get.rvm.io | bash -s stable
$ source ~/.bashrc
$ source ~/.bash_profile
//修改 RVM 的 Ruby 安装源到国内的 淘宝镜像服务器,这样能提高安装速度
$ sed -i -e 's/ftp\.ruby-lang\.org\/pub\/ruby/ruby\.taobao\.org\/mirrors\/ruby/g' ~/.rvm/config/db
或
$ sed -i 's!cache.ruby-lang.org/pub/ruby!ruby.taobao.org/mirrors/ruby!' $rvm_path/config/db
$ sudo reboot
//重启完后,打开终端,我们便可以使用rvm了,
rvm 安装ruby
//列出rvm远程服务器上都有那些可用的ruby版本
$ rvm list known
$ rvm install ruby #安装ruby,默认为最新版
$ rvm use 2.2.1 --default
有时用以上命令无法安装,那么可以手动下载ruby包编译安装。
到官网http://www.ruby-lang.org/en/downloads/下载ruby安装包。,然后解压,在目录下执行以下代码
$ ./configure
$ make
$ sudo make install
gem 的使用
$ gem source
//由于gem 源被墙,我们删除默认源,添加淘宝源
$ gem source -r https://rubygems.org/
//添加淘宝源,
$ gem sources -a https://ruby.taobao.org/
使用gem 安装rails
$ gem install rails
$ rails -v #查看rails版本
如果执行gem install rails时报错相关信息nokogiri-1.6.5.gem,缺少这个包,或者这个包有问题安装不上,执行下边命令手动安装nokogiri
$ gem install nokogiri -v=1.6.5
//如果安装nokogiri报错,需要依赖包 libxslt libxml2,那我们就先装这俩依赖包
$ sudo apt-get install libxslt libxml2
//装完依赖包后,继续安装nokogiri-1.6.5.gem
$ gem install nokogiri -v=1.6.5
//安装完nokogiri,我们就可以继续rails的安装步骤了
$ gem install rails
建立 gemset
rvm use 2.2.1
rvm gemset create rails425
使用 RVM 快速部署 Nginx + Passenger
首先安装 Passenger
gem install passenger
然后使用 passenger-install-nginx-module 来安装 Nginx 和部署。
因为这一步需要 root 权限(因为要编译 Nginx)可以用 rvmsudo
rvmsudo passenger-install-nginx-module
如果虚拟机安装nginx时卡住或报错,可以加大内存重新安装,这是因为内存不粗引起的。如果报 PCRE could not be downloaded 的错误,可以去安装pcre,安装pcre的过程如下:
获取pcre编译安装包,在[http://www.pcre.org/](http://www.pcre.org/)上可以获取当前最新的版本
解压缩pcre-xx.tar.gz包。
进入解压缩目录,执行./configure。
make & make install
配置nginx
由于我的nginx默认安装在/opt/nginx 目录下,我找到/opt/nginx/conf/nginx.conf文件配置如下。
sudo vi /opt/nginx/conf/nginx.conf
events {
worker_connections 1024;
}
http {
passenger_root /home/admin/.rvm/gems/ruby-2.2.1/gems/passenger-5.0.23;
passenger_ruby /home/admin/.rvm/gems/ruby-2.2.1/wrappers/ruby;
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
root /soft/myprogram/public; #rails项目根目录下的public路径
passenger_enabled on; #开启passenger
error_log /soft/myprogram/log/error.log; #rails错误日志路径
access_log /soft/myprogram/log/access.log; #rails日志路径
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}