在 Ubuntu 12.04 Server 上安装部署 Ruby on Rails 应用

本教程只适合 Ubuntu Server 用于部署项目到线上,建议使用同样的 Ubuntu 版本,以免遇到一些版本不同带来的问题。

本教程适合新手初次部署 Rails 应用;

本文测试通过环境

Ubuntu 12.04 Server,

服务器安装测试于 Linode VPS (Ubuntu 12.04 LTS (GNU/Linux 3.4.2-x86_64-linode25 x86_64)。

配置 Ubuntu Server 系统

如果你是国内服务器,推荐修改网易的源

输入 sudo vi /etc/apt/sources.list 将里面的内容替换成:

deb http://mirrors.163.com/ubuntu/ precise main restricted universe multiversedeb
http://mirrors.163.com/ubuntu/ precise-security main restricted universe multiversedeb
http://mirrors.163.com/ubuntu/ precise-updates main restricted universe multiversedeb
http://mirrors.163.com/ubuntu/ precise-proposed main restricted universe multiversedeb
http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiversedeb-src
http://mirrors.163.com/ubuntu/ precise main restricted universe multiversedeb-src
http://mirrors.163.com/ubuntu/ precise-security main restricted universe multiversedeb-src
http://mirrors.163.com/ubuntu/ precise-updates main restricted universe multiversedeb-src
http://mirrors.163.com/ubuntu/ precise-proposed main restricted universe multiversedeb-src
http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse

然后更新一下:

$ sudo apt-get update

安装必要的三方库

$ sudo apt-get install -y wget vim build-essential openssl libreadline6 libreadline6-dev libmysqlclient-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libxml2-dev libxslt-dev libcurl4-openssl-dev autoconf automake libtool imagemagick libmagickwand-dev libpcre3-dev nodejs libpq-dev

安装 Ruby, Rails 及相关

安装 RVM

$ /curl -L https://get.rvm.io | bash -s stable $ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"' >>~/.bashrc $ source ~/.bashrc $ rvm -v

安装 Ruby

如果你是国内服务器,推荐将 RVM 的安装源替换成 Taobao 的镜像服务器,这样安装能更快!

$ sed -i -e 's/ftp/.ruby-lang/.org//pub//ruby/ruby/.taobao/.org//mirrors//ruby/g' ~/.rvm/config/db

用 RVM 安装 Ruby:

$ rvm pkg install readline openssl $ rvm install 2.0.0
$ rvm use 2.0.0 --default $ ruby -vruby 2.0.0p247

国内服务器推荐替换 RubyGems 的到淘宝镜像:

$ gem sources --remove https://rubygems.org/
$ gem sources -a http://ruby.taobao.org/
$ gem sources -l *** CURRENT SOURCES *** http://ruby.taobao.org

安装 Rails

$ gem install rails $ rails -vRails 4.0.0

安装 MySQL 或其他数据库

当然,如果你的项目是用的其他数据库,请自己解决

$ sudo apt-get install mysql-server

跟着提示安装,此处涉及东西在本教程之外,请自行 Google 相关教程解决。

部署你的网站

接下来你可以通过 Git 或其他方式将你项目的源代码提交到服务器上面,建议放到用户的 ~/www 下面。

为了方便教程,我们假设,用户是 jason (拥有 sudo 权限), 项目名 gitlab 后面遇到类似的地方请更具自己的情况修改

$ cd ~/ $ pwd /home/jason/
$ mkdir www
$ cd www
$ git clone git@you.host:gitlab.git
$ cd gitlab
$ bundle install

修改你的数据库配置,创建数据库,合并 migration ...这些是 Rails 开发的基础,这里就不细说了,重点是最后你能让你的项目能用 rails s 跑起来!

$ rails s -e production

安装 Passenger 用于部署 Rails 应用

$ gem install passenger $ passenger -vPhusion Passenger version 4.0.10

由于 Passenger 需要重新编译 Nginx,如果你之前有安装 Nginx 需要卸载掉!
nginx -v,有的话卸载 $ sudo apt-get remove nginx-common nginx-full nginx

用 Passenger 安装 Nginx

$ sudo passenger-install-nginx-module

接下来会出现提示,选择 Yes: download, compile and install Nginx for me. (recommended) ,对于后面的提示一直选默认哪项,敲回车。

最后看到

Nginx with Passenger support was successfully installed.

表示你人品很好 Nginx 安装成功!否则请看 Passenger 官方安装文档 自行解决……

安装 Nginx init script

接下来你需要安装 Nginx 的启动脚本,以及配置开机自动启动

$ cd ~/ $ git clone git://github.com/jnstq/rails-nginx-passenger-ubuntu.git $ sudo mv rails-nginx-passenger-ubuntu/nginx/nginx /etc/init.d/nginx $ sudo chmod +x /etc/init.d/nginx

配置 Nginx 开机自启动

$ sudo update-rc.d nginx defaults

配置 Nginx 与网站

打开 Nginx 的 nginx.conf

$ sudo vim /opt/nginx/conf/nginx.conf

PS: 如果你不是 Passenger 安装的 Nginx,这个配置文件还有可能在 /usr/local/nginx/ 或 /etc/nginx 下面

请参考下面的例子修改:

user jason; # 修改成你的系统帐号名,不然项目目录 /home/jason/www 这里没有权限 worker_processes 8; # 修改成和你 CPU 核数一样 pid /var/run/nginx.pid; http { include mime.types; default_type application/octet-stream; client_max_body_size 50m; sendfile on; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; gzip on; gzip_disable "msie6"; ## ------------ 重点修改内容 --------  server { # 此处用于防止其他的域名绑定到你的网站上面  listen 80 default; return 403; } server { listen 80; server_name you.host.name; # 请替换成你网站的域名  rails_env production; root /home/jason/www/gitlab/public; passenger_enabled on; location ~ ^(/assets) { access_log off; # 设置 assets 下面的浏览器缓存时间为最大值(由于 Rails Assets Pipline 的文件名是根据文件修改产生的 MD5 digest 文件名,所以此处可以放心开启)  expires max; } } ## --------------------------------- }

重启 Nginx

$ sudo /etc/init.d/nginx start

部署完成!可以尝试访问你的域名。

其它网友的补充: 推荐查看

刚才试了一下,很轻松。

就当是给入门级的一个教程好了。。

注意:这篇文章只介绍如何在 Ubuntu 12.04 Server 上安装 Rails 环境,不保证你的 Rails 项目一定可以在 12.04 上正常运行。

本文测试环境

•装的系统是: Ubuntu 12.04 Server LTS amd64
•安装于: OSX 上 Parallels Desktop 虚拟机
Ubuntu 安装
很常见的安装:

1.选择 English 安装
2.Location 选择 other -> Asia -> China
3.继续安装,一路默认。。
4.输入姓名、用户名和密码
5.Write the changes to disks and configure LVM? <Yes>
6.Write the changes to disks? <Yes>
7.Software selection 阶段:选择 OpenSSH server (按空格键)(你以后会用到ssh的。。。)
8.有关 GRUB 的问题,如果你是多系统,请参考其他资料
9.安装完成,自动重启。

更新系统

1.登陆系统
2.替换更新源: $ sudo vim /etc/apt/sources.list 我在教育网,所以换的教育网的源
3.更新软件列表: $ sudo aptitude update
4.更新软件: $ sudo aptitude upgrade
5.重启: $ sudo reboot

安装 Ruby 、 Rails 及相关
简单方法:

我写了一个脚本,可以直接用:

Server 版 Ubuntu 12.04

$ curl -L https://raw.github.com/gist/2521307/install-rails-12-04-server.sh | bash
Desktop 版 Ubuntu 12.04

$ curl -L https://raw.github.com/gist/2521307/install-rails-12-04-desktop.sh | bash
跑完脚本后如果 rails -v 失败,重新开一个terminal/shell。

复杂方法:

1.安装 RVM: $ curl -L get.rvm.io | bash -s stable
2.将 rvm 加入 PATH : $ source ~/.rvm/scripts/rvm
3.查看需要安装的包: $ rvm requirements
4.安装上一步提示所需的包: $ sudo aptitude install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion
5.安装 Ruby 1.9.3 : $ rvm install 1.9.3
6.替换 gem 的 source : $ gem source -r http://rubygems.org/;gem source -a http://ruby.taobao.org
7.安装 Bundler 和 Rails : $ gem install bundler rails

测试安装是否成功

1.$ rails new path/to/your/new/application
2.$ cd path/to/your/new/application
3.$ vim Gemfile ,将第一行的 source 改为 http://ruby.taobao.org ,末尾行添加: gem 'therubyracer'
4.$ rails server
5.用浏览器打开 http://ip.of.your.host:3000/ ,如果可以访问,则安装成功。

(0)

相关推荐

  • Ruby On Rails上手笔记(安装使用全过程)

    有机会再试一试Rails了,只是原来接触的是2,现在已然变成了4,似乎现在的安装比原来会快些.. Rails 4 安装 针对于安装了RVM 复制代码 代码如下: gem install rails 没有的话应该这样: 复制代码 代码如下: sudo gem install rails 安装RVM可以用句 复制代码 代码如下: curl -L https://get.rvm.io | bash -s stable 查看rails版本 复制代码 代码如下: rails -vRails 4.0.3 似

  • win7安装ruby on rails开发环境

    前言 看到很多文章都说ruby环境在windows上是非常难搭建,会出现各种各样的怪问题,所以都推荐到linux和mac上安装开发.但是我按照教程搭了下,问题也不算太多.总过大概花费了2个半小时左右就完成了.所以大家不要被吓尿了,下面就把安装的步骤及具体的版本记录了一下供大家参考. 安装步骤: 开发机环境:我使用的开发机:win7 旗舰版 - 64位 (cpu是i5). 1 安装 rubyinstaller-2.0.0-p481.exe     1 选择安装目录:(如:D:\server\Rub

  • 几个加速Ruby on Rails的编程技巧

    Ruby 语言常以其灵活性为人所称道.正如 Dick Sites 所言,您可以 "为了编程而编程".Ruby on Rails 扩展了核心 Ruby 语言,但正是 Ruby 本身使得这种扩展成为了可能.Ruby on Rails 使用了该语言的灵活性,这样一来,无需太多样板或额外的代码就可以轻松编写高度结构化的程序:无需额外工作,就可以获得大量标准的行为.虽然这种轻松自由的行为并不总是完美的,但毕竟您可以无需太多工作就可以获得很多好的架构. 例如,Ruby on Rails 基于模型-

  • Ruby on Rails下的图像处理入门教程

    图像可以说是任何应用至关重要的一部分.从社交网络到一个简单的Bug追踪器,图像都扮演着重要的角色.然而管理图像并不是一件容易的事情,需要提前耗费大量的时间精力去计划. 本文演示了如何在Rail中实现这一目标.如何处理你的图像以及在后台创建多个版本?如何通过压缩图像又不损图像质量,以此来提高页面性能?这些且听本文一一道来. 入门 本文教程是运行于Rails 4.2,通过MongoDb数据库和HAML呈现视图.不过本文所展示的片段应该兼容任何Rails版本(尽管有些配置差异). 布置舞台 Image

  • Windows下Ruby on Rails开发环境安装配置图文教程

    本文详细介绍如何在Windows配置Ruby on Rails 开发环境,希望对ROR初学者能有帮助. 一.下载并安装Ruby Windows下安装Ruby最好选择 RubyInstaller(一键安装包). 下载地址: http://rubyforge.org/frs/?group_id=167 . 我们这里下载目前较新的rubyinstaller-1.9.3-p0.exe 一键安装包.这个安装包除了包含ruby本身,还有许多有用的扩展(比如gems)和 帮助文档. 双击安装,安装过程出现如下

  • CentOS7下搭建ruby on rails开发环境

    1.安装rvm curl -L https://get.rvm.io | bash -s stable rvm是一个命令行工具,提供多版本ruby环境的管理和切换,还可以根据项目管理不同的gemset. 如果没有生成ssh key,这一步可能会失败,直接ssh-keygen生成key之后再执行安装即可. 还可能遇到gpg有关的问题:根据提示执行: gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113

  • 快速安装Ruby on Rails的简明指南

    对于新入门的开发者,如何安装 Ruby, Ruby Gems 和 Rails 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境. 次安装方法同样适用于产品环境! 系统需求 首先确定操作系统环境,不建议在 Windows 上面搞,所以你需要用: Mac OS X 任意 Linux 发行版本(Ubuntu,CentOS, Redhat, ArchLinux ...) 强烈新手使用 Ubuntu 省掉不必要的麻烦! 以下代码区域,带有 $ 打头的表示需要在控制台(

  • Ruby on rails安装后去掉DL is deprecated,please use Fiddle警告信息的方法【测试可用】

    本文实例讲述了Ruby on rails安装后去掉DL is deprecated,please use Fiddle警告信息的方法.分享给大家供大家参考,具体如下: 问题: 搭建完完ruby on rails环境之后发现每次运行命令总会有这样一个Warning:DL is deprecated, please use Fiddle,例如: 对运行什么的没有影响,只是Dl过时了,可是Ruby大大不管这个问题,可是看着就烦呐~~ 解决方法(from stackflow): 找到安装目录D:\Rai

  • 在 Ubuntu 12.04 Server 上安装部署 Ruby on Rails 应用

    本教程只适合 Ubuntu Server 用于部署项目到线上,建议使用同样的 Ubuntu 版本,以免遇到一些版本不同带来的问题. 本教程适合新手初次部署 Rails 应用: 本文测试通过环境 Ubuntu 12.04 Server, 服务器安装测试于 Linode VPS (Ubuntu 12.04 LTS (GNU/Linux 3.4.2-x86_64-linode25 x86_64). 配置 Ubuntu Server 系统 如果你是国内服务器,推荐修改网易的源 输入 sudo vi /e

  • 在Ubuntu 16.04 Server上安装Zabbix的方法

    监控服务器 - 什么是 Zabbix Zabbix 是企业级开源分布式监控服务器解决方案.该软件能监控网络的不同参数以及服务器的完整性,还允许为任何事件配置基于电子邮件的警报.Zabbix 根据存储在数据库(例如 MySQL)中的数据提供报告和数据可视化功能.软件收集的每个测量指标都可以通过基于 Web 的界面访问. Zabbix 根据 GNU 通用公共许可证版本 2(GPLv2)的条款发布,完全免费. 在本教程中,我们将在运行 MySQL.Apache 和 PHP 的 Ubuntu 16.04

  • Ubuntu 12.04 x64 编译安装lamp的步骤

    编译安装apache 2.4.2 复制代码 代码如下: sudo echo 'start' echo 常见错误: echo configure: error: APR not found. Please read the documentation. echo 解决办法: wget http://labs.renren.com/apache-mirror/apr/apr-1.4.6.tar.bz2 tar -jxvf apr-1.4.6.tar.bz2 cd apr-1.4.6 ./config

  • Ubuntu Server 16.04 LTS 上安装 LAMP图解教程

    LAMP 方案是一系列自由和开源软件的集合,包含了 Linux.Web 服务器 (Apache). 数据库服务器 (MySQL / MariaDB) 和 PHP (脚本语言).LAMP 是那些需要安装和构建动态网页应用的基础平台,比如WordPress.Joomla.OpenCart 和 Drupal. 在这篇文章中,我将描述如何在 Ubuntu Server 16.04 LTS 上安装 LAMP,众所周知 Ubuntu 是一个基于 Linux 的操作系统,因此它构成了 LAMP 的第一个部分,

  • VirtualBox 虚拟机中安装 Ubuntu 12.04(图文教程)

    距离ubuntu最新版发布已经差不多半年了,博主近来对linux系统有了兴趣,奈何资金不足无法购置一台新机来安装ubuntu.所以想到了虚拟机.下面介绍了VirtualBox 虚拟机中安装 Ubuntu 12.04. 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们.

  • Docker CentOS7的系统上安装部署以及基础教程

    说明: 本文介绍如何在CentOS7的系统上安装部署Docker环境,本文参考Docker官方文档如下链接: https://docs.docker.com/engine/installation/centos/ CentOS7的系统上安装部署Docker环境 1 CentOS7安装(略) 2 升级系统 yum update 升级完成后需要重启下系统. 3 添加docker yum源 执行如下命令: cat >/etc/yum.repos.d/docker.repo name=Docker Re

  • ubuntu 14.04 64位安装配置docker教程

    背景 一年前就听说了Docker,想用它做虚拟机,今天终于有机会付诸实践了. 我这里使用的是64位 ubuntu 14.04.想虚拟出4台设备,分别安装软件,进行集群测试. 由于Linux容器的bug,docker在Linux的kernel3.8上运行最佳. 环境检查及安装 看下我们的Ubuntu版本命令: 复制代码 代码如下: cat /etc/issue   Ubuntu 14.04.5 LTS \n \l 再来看下内核,命令: uname -r  3.2.0-67-generic 由于内核

  • Ubuntu 18.04 Server 设置静态IP 的方法

    一.背景 Netplan是Ubuntu 17.10中引入的一种新的命令行网络配置实用程序,用于在Ubuntu系统中轻松管理和配置网络设置.它允许您使用YAML抽象来配置网络接口.它可与NetworkManager和systemd-networkd网络守护程序(称为渲染程序,您可以选择使用其中的哪一个)一起作为内核的接口. 它读取/etc/netplan/*.ymal中描述的网络配置,并且可以将所有网络接口的配置存储在这些文件中. 在本文中.我们将解释如何使用Netplan实用程序在Ubuntu

  • 使用虚拟机在VirtualBox+openEuler上安装部署openGauss数据库

    目录 1.虚拟机VirtualBox下载及安装 步骤 1 进入官方网站下载页面. 步骤 2下载完成后,双击执行文件进行安装. 2.openEuler-20.03-LTS镜像文件下载 步骤 1 进入华为开源镜像站的下载页面. 步骤 2 点击” openEuler-20.03-LTS-x86_64-dvd.iso”,进行相应ISO镜像文件下载. 3.VirtualBox下安装openEuler-20.03-LTS操作系统 步骤 1 新建虚拟电脑. 步骤 2 设置虚拟电脑并安装. 步骤 3 确认网络

  • protobuf简单介绍和ubuntu 16.04环境下安装教程

    protobuf简单介绍 protobuf是谷歌的开源序列化协议框架,结构类似于XML,JSON这种,显著的特点是二进制的,效率高,主要用于通信协议和数据存储等方面,算是一种结构化数据的表示方法. protobuf的优点 大家都在用,起码'装逼'的都在用[咱要跟上时代] 别人说性能好,二进制格式[大项目不用这个,感觉丢人] 跨平台支持各种语言,前后兼容好强大[毕竟人家谷歌在用了] protobuf的缺点 二进制格式,一般人看不了 缺乏自我描述 xml是自我描述的,但是protobuf格式不是的,

随机推荐