从新系统开始完整部署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用户上,并且输入刚才的密码`
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
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. 实际进行部署
14. 修改相关的配置文件
#常见问题
- 在clone下一个新的项目时候,不能创建数据库?
psql -h localhost -d postgres(用户名)
ALTER ROLE postgres CREATEDB