ruby服务器的部署

下载ubuntu 14.4server版安装,

装完干净的系统后,我们首先需要更新

$ sudo apt-get update

$ sudo apt-get upgrade

这两个命令是更新服务器环境

下一步是安装 Mysql 当然如果你的数据库是其他的服务器可以省去这个步骤

$ sudo apt-get install mysql-server

$ sudo apt-get install libmysqlclient-dev

下一步是调整服务器的时区

$ sudo dpkg-reconfigure tzdata

接下来进入正题

安装ruby前需要先安装基本工具和组件库

$ sudo apt-get install build-essential zlib1g-dev libssl-dev libreadline5 libyaml-dev

建立一个专门用于部署的用户 我的习惯是建一个用户 apps

建立apps用户后 记得赋予其 sudo 权限

然后我们将用户切换到 apps

进入ruby的安装‘

服务器环境的ruby安装与本地开发不同 很多人还是习惯用rvm 但有很多最佳实践说rvm并非服务器装ruby的首选

我的习惯是 chruby 安装简单 使用方便

安装步骤 1:执行以下命令

$ wget -O chruby-0.3.9.tar.gz https://github.com/postmodern/chruby/archive/v0.3.9.tar.gz

$ tar -xzvf chruby-0.3.9.tar.gz

$ cd chruby-0.3.9/

$ sudo make install

执行后就算装好了

然后是要激活

在 ~/.bashrc 或者 ~/.zshrc 文件里加入以下代码:

source /usr/local/share/chruby/chruby.sh·

这样就算激活了 此时可以试试 chruby -v

但安装ruby 还需要一个工具叫 ruby-install

这个跟 chruby 是不矛盾的 我的理解是 ruby-install 就是一个ruby版本的安装工具 而chruby是ruby管家

ruby-install 跟 chruby 的安装方法类似 也是执行几句命令:

$ wget -O ruby-install-0.5.0.tar.gz https://github.com/postmodern/ruby-install/archive/v0.5.0.tar.gz

$ tar -xzvf ruby-install-0.5.0.tar.gz

$ cd ruby-install-0.5.0/

$ sudo make install

装好后,便可以使用 ruby-install 的命令来安装 ruby的版本了

具体命令如下:

ruby-install -M http://ruby.taobao.org/mirrors/ruby/ ruby 2.2.3

这里的 -M 是选择下载镜像

使用淘宝镜像基本是秒下的

但用国外镜像进度条基本是不动的

完成后 试试 ruby -v 可以看到版本


后面就是安装 rails

ruby的环节完成后 安装以下系统组件:nodejs 和 nginx

gem install rails

ruby的应用服务器 我习惯上使用 unicorn 配合 cap使用还是比较方便的

服务器的配置基本上是这些

接下来本地的配置 刚才说到gem 先说第一个 capistrano 它是基本组件

使用方法:$ bundle exec cap install

这个命令会生成


这些文件

Capfile 可以直接复制

deploy 文件夹下的两个文件 production 和 staging

分别是生产环境和演示环境

staging可以不用

如果有需要的话 可以另外配置服务器搭一套演示环境

一般就配 production

这个也非常简单 就一句话 照抄现有代码

接下来是 deploy.rb 文件

这是最关键的配置文件

首先 :application 是应用名称 如果你一台服务器上要跑多个应用 必须保证名字唯一性

:repo_url 是源代码的 git 库

ask :branch 这句我建议开出来

每次部署时它会问你 要部署哪个分支

接下来 是:deploy_to 表示服务器的网站根目录

后面是 linked_files 和 linked_dirs 这两个是非常关键的配置

简单说就是公共目录

你想把那些东西放在公共目录就可以在这里配置

举例来说 我们有些时候网站里会由图片或文档 但这些东西我们又不希望放在代码里管理 因为很多图片和文档可能是用户上传的

所以可以放在 public 下的某个目录里 比如 uploads

这样一来我们就需要在 linked_dirs 中多配置一个 'public/uploads'

是这个文件夹不会因为版本的迭代 而导致访问不到的情况

接下来 是 :chruby_ruby 这个参数是指定ruby版本的

生成的模板里是没有的

接下来还有个部署配置

capistrano-unicorn-nginx

这个gem是帮助你再服务器上自动建立 所有 nginx 和 unicorn 配置文件的 它是模板化操作

$ bundle exec cap production setup

这句命令会自动建立所有服务器配置文件

接下来这句 $ bundle exec rails g capistrano:unicorn_nginx:config

是在本地生成响应的配置模板

这两句好了以后就是部署命令了

首先是  cap setup 会建立服务器的文件结构

然后就是 cap production deploy

会进行自动化部署了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容