美文网首页
ruby服务器的部署

ruby服务器的部署

作者: 星野君 | 来源:发表于2015-11-05 16:48 被阅读0次

    下载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

    会进行自动化部署了

    相关文章

      网友评论

          本文标题:ruby服务器的部署

          本文链接:https://www.haomeiwen.com/subject/davkcttx.html