当前位置

网站首页> 程序设计 > 开源项目 > 程序开发 > 浏览文章

【ROR】基础0-在vagrant中配置ror环境 - 丁一鸣

作者:小梦 来源: 网络 时间: 2024-03-03 阅读:

学习资料:

  • 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
  • 安装 GPGcurl

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.X
rvm --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

热点阅读

网友最爱