从新系统开始完整部署rails项目 - tianlu1677/tianlu1677.github.io GitHub Wiki

在ubuntu 12.04 上完整部署rails程序

0. 切换到root用户

sudo passwd root 
[sudo] password for you :---> 输入你的密码,不回显 
Enter new UNIX password: --- > 设置root 密码 
Retype new UNIX password: --> 重复 

su root `切换到root用户上,并且输入刚才的密码`

ubuntu默认root密码问题

1. 为新系统分配一个新用户

出于安全考虑,不要使用 root 帐号运行 web 应用。这里新建一个专门用于部署的用户,例如 jack 或者其它你喜欢的名字。运行以下命令创建用户 jack :

# useradd -m -s /bin/bash jack

将用户加入 sudo 群组,以便使用 sudo 命令:

# adduser jack sudo

为 jack 用户设置密码:

# passwd jack

这个时候你可以切换到 Jack用户上

# su jack

退出当前 SSH 链接,用 jack 帐号重新登陆。

$ ssh [email protected]
输入你的密码:

以Jack用户登陆到远程服务器上

2. 更新系统,更新源

$ sudo apt-get update

因为某些原因你需要更新系统源,这样才能下载你想要的东西 Ubuntu 12.04 LTS 更新源

或者你将源文件在本机上,写一个sources.list的文本文件,将源复制进去,然后远程复制到你的机器上,前提是你先对之前的改名备份。 linux中远程拷贝文件命令(scp)详解

$ scp /有该文件的目录下/sources.list [email protected]:/etc/apt

然后输入你的密码,重新登陆之后,执行sudo apt-get update 再更新一下系统,有惊喜

3. 安装curl

$ sudo apt-get install curl

4. 安装rvm

$ curl -L get.rvm.io | bash -s stable
$ source ~/.bashrc
$ source ~/.bash_profile
$ rvm -v

rvm 是什么

5. 安装ruby 2.1.1

使用rvm安装Ruby,便于对Ruby的版本进行控制

$ rvm install 2.1.1
$ rvm use 2.1.1 --default
$ ruby -v
$ gem -v

在这个安装的过程中容易出错,如果出错你首先要更新一下系统。然后看出错系统,是不是缺少什么组件,安装她。如果解决不了,可以尝试放在google一下。

因为安装rails需要使用gem,所以你要确认安装好gem了,因为某些原因,有些gem安装不上,这个时候可以切换到淘宝源上:

$ sed -i 's!cache.ruby-lang.org/pub/ruby!ruby.taobao.org/mirrors/ruby!' $rvm_path/config/db
$ gem sources --remove https://rubygems.org/
$ gem sources -a https://ruby.taobao.org/
$ gem sources -l

请务必确认rvm ruby gem 已经存在

6. 安装rails

$ gem install rails
$ rails -v  

这个命令会安装最新版本的rails,本文章中是rails4.1.1 创建一个新项目试试

$ mkdir project
$ cd project
$ rails new testapp
$ rails s 

如果整个过程没有出错,这表示安装已经成功了。访问localhost:3000 你能看到rails项目的界面


推荐使用 linuxbrew 安装一下软件

## 安装linuxbrew
ruby -e "$(wget -O- https://raw.github.com/Homebrew/linuxbrew/go/install)"
## 加入到bash中
export PATH="$HOME/.linuxbrew/bin:$PATH"
export LD_LIBRARY_PATH="$HOME/.linuxbrew/lib:$LD_LIBRARY_PATH"

## 安装你想安装的软件
brew install git 

7. 安装git

sudo apt-get install git 
#或 brew install git 

8. 安装postgres 和 mysql

9. 安装redis

10. 安装nginx

11. 安装 memcached

12. 安装passenger

13. 实际进行部署

Capistrano 3 实现Rails自动化部署

14. 修改相关的配置文件

#常见问题

  1. 在clone下一个新的项目时候,不能创建数据库?
psql -h localhost -d postgres(用户名)
ALTER ROLE postgres CREATEDB