1

学习资料:

清单

  • Ubnuntu 14.04

  • rvm

  • ruby

  • gem

  • bundler

  • passenger

  • nginx

使用vagrant

  • 进入vagrant

    vargrant ssh
  • 更新apt-get

sudo apt-get update
  • 安装 GPGcurl

sudo apt-get install -y curl gnupg build-essential

安装rvm

RVM 是一个命令行工具,可以提供一个便捷的多版本 Ruby 环境的管理和切换。
https://rvm.io/

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3

curl -sSL https://get.rvm.io | sudo bash -s stable

sudo usermod -a -G rvm `whoami`

安装完成后重新登录vagrant,使rvm生效

exit

vagrant ssh

使用rvm安装ruby

  • 查看可安装列表

rvm list known
  • 安装ruby

rvm install ruby
  • 查看ruby版本

ruby -v

指定版本安装
rvm install ruby-X.X.X
rvm --default use ruby-X.X.X

gem

安装了ruby便自带了rubygem,即ruby的包管理工具,rails也是一个gem包

  • 查看gem版本

gem -v
  • 更新gem

sudo gem update --system
gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/
  • 查看gem源

gem sources -l
  • 安装rails

gem install rails
rails -v
  • 安装bundler

bundler是个管理应用gem包依赖的工具

gem install bundler --no-rdoc --no-ri
  • 安装nodejs

rails中asset pipeline需要js运行环境

sudo apt-get install -y nodejs &&
sudo ln -sf /usr/bin/nodejs /usr/local/bin/node

node -v

安装passenger+nginx

Passenger 是一个 app server,支持基于 Rack 框架的 Ruby app(包括 Rails)。
Passenger 的特点是需要作为模块编译到 Nginx 中,优点是配置简单,不需要自己写启动脚本。

  • 导入passenger密钥

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7
  • 安装apt插件支持https传输

sudo apt-get install -y apt-transport-https ca-certificates
  • 添加apt源

sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger trusty main > /etc/apt/sources.list.d/passenger.list'
  • 更新apt-get

sudo apt-get update
  • 安装passenger+nginx

sudo apt-get install -y nginx-extras passenger
  • 配置nginx,

/etc/nginx/nginx.conf权限


cd /etc/nginx

sudo chmod 777 nginx.conf

编辑/etc/nginx/nginx.conf找到下面两行去除#

vim nginx.conf
# passenger_root /some-filename/locations.ini;
# passenger_ruby /usr/bin/passenger_free_ruby;

这会打开passenger支持,并指定使用之前用rvm安装的ruby版本

  • 如果nginx.conf里没有passenger_root,则添加

passenger-config --root

添加 passenger-root/etc/nginx/nginx.conf

...

http {
    passenger_root /some-filename/locations.ini;
    ...
}
  • 重启nginx

sudo service nginx restart
  • 检查安装

sudo passenger-config validate-install

sudo passenger-memory-stats
  • 更新

sudo apt-get update
sudo apt-get upgrade

丁一
944 声望80 粉丝

[链接]


引用和评论

0 条评论