【ROR】基礎0-在vagrant中配置ror環境

學習資料:node

清單

  • Ubnuntu 14.04ubuntu

  • rvmvim

  • rubyruby

  • gembash

  • bundlerapp

  • 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
相關文章
相關標籤/搜索