【ROR】基础0-在vagrant中配置ror环境 - 丁一鸣
学习资料:
Ubuntu 12.04 上使用 Nginx Passenger 部署 Ruby on Rails
rvm实用指南
passenger文档
清单
Ubnuntu 14.04
rvm
ruby
gem
bundler
passenger
nginx
使用vagrant
进入vagrant
vargrant ssh更新
apt-get
sudo apt-get update安装
GPG和curl
sudo apt-get install -y curl gnupg build-essential安装rvm
RVM 是一个命令行工具,可以提供一个便捷的多版本 Ruby 环境的管理和切换。
https://rvm.io/
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3curl -sSL https://get.rvm.io | sudo bash -s stablesudo usermod -a -G rvm `whoami`安装完成后重新登录vagrant,使rvm生效
exitvagrant ssh使用rvm安装ruby
查看可安装列表
rvm list known安装ruby
rvm install ruby查看ruby版本
ruby -v指定版本安装
rvm install ruby-X.X.Xrvm --default use ruby-X.X.X
gem
安装了ruby便自带了rubygem,即ruby的包管理工具,rails也是一个gem包
查看gem版本
gem -v更新gem
sudo gem update --system切换gem资源到国内(https://ruby.taobao.org)
gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/查看gem源
gem sources -l安装rails
gem install railsrails -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/nodenode -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/nginxsudo 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-installsudo passenger-memory-stats更新
sudo apt-get updatesudo apt-get upgrade

