SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
サーバ環境で使うRVM
                  株式会社クルウィット
                  井澤 志充

                  Kanazawa.rb #8




                   「安心・安全・安定・信頼」できるインターネットサービスを

13年4月20日土曜日
RVMとは?
   •   RVM:  Ruby  Version  Manager
   •   公式サイト:  https://rvm.io/

   •   複数のバージョンのRubyを使い分けることが出来る仕組
       み
        •   複数のgemsetも使い分けれます




                             「安心・安全・安定・信頼」できるインターネットサービスを   2
13年4月20日土曜日
「安心・安全・安定・信頼」できるインターネットサービスを   3
13年4月20日土曜日
Jewelry Box
   •   RVM公式の  OSX版  RVM  GUIインタフェース
   •   公式サイト:  http://jewelrybox.unfiniti.com/

   •   RVM環境のステータス確認やメンテナスなどが簡単にで
       きる
   •   なんかいろいろできるらしいっすー




                           「安心・安全・安定・信頼」できるインターネットサービスを   4
13年4月20日土曜日
「安心・安全・安定・信頼」できるインターネットサービスを   5
13年4月20日土曜日
「安心・安全・安定・信頼」できるインターネットサービスを   6
13年4月20日土曜日
サーバ環境で使う利点
   •新しいバージョンのRuby/Gemへの容易易なアップグレード
   が可能
     • セキュリティフィックスなど



   •   複数のバージョンの共存
        • ⼀一つにサーバに複数のアプリ(サービス)




   →RVMを介することで、コードの改修なしに追従可能




                    「安心・安全・安定・信頼」できるインターネットサービスを   7
13年4月20日土曜日
RVMのインストール

   •   インストール方法は3種類
       •   Single-User install
            • ユーザ個人用に、~/.rvm へ installされる

       •   Multi-User install
            • システム全体用に、/usr/local/rvm へinstall される

       •   Mixed-User install
            • multi-Userでinstallされたものをベースに個人で使


              う部分を別途、追加/Overrideして使うモード




                           「安心・安全・安定・信頼」できるインターネットサービスを   8
13年4月20日土曜日
RVMのしくみ


   •   Shell-‐‑‒Scriptのかたまり
   •   環境変数・Shell変数を適宜設定して、使うRuby/Gemを
       変更更している
       •   $PATH,  $GEM_̲HOME,  $GEM_̲PATH,など

   •   上記の適宜設定の部分を手動でやっても使うことができ
       るということ




                            「安心・安全・安定・信頼」できるインターネットサービスを   9
13年4月20日土曜日
RVMの使い方


   •  使⽤用するrubyの切切り替え
       • rvm  use  <ruby-‐‑‒version>

   • エイリアスの設定

       • rvm  alias  create  <alias>  <origin>

    • gemsetの設定

       • rvm  gemset  create  <gemset>

       • rvm  use  <ruby>@<gemset>




                              「安心・安全・安定・信頼」できるインターネットサービスを   10
13年4月20日土曜日
サーバ環境で使う方法


   今回のポリシとして…

   •   サービスアプリごとに専⽤用のユーザを作成する
   •   アプリユーザのSingle-‐‑‒User  installで利利⽤用する
   •   全てのプロセスは、アプリユーザが実効ユーザであるよ
       うにする




                        「安心・安全・安定・信頼」できるインターネットサービスを   11
13年4月20日土曜日
rc.d/init.d Scriptの場合
 #!/usr/local/bin/bash
 start() {
          echo -n "Starting hogeapp: "
          su app_user -c "source /home/app_user/.rvm/scripts/rvm;
 cd /home/app_user/hogeapp; bin/unicorn_rails -c config/unicorn.rb -
 E production -D"
          return 0
 }
 stop() {
          kill -INT `cat ~app_user/hogeapp/tmp/pids/unicorn.pid`
          return 0
 }
 case "$1" in
   start)
          start
          ;;
   stop)
          stop
          ;;
 esac
                                「安心・安全・安定・信頼」できるインターネットサービスを           12
13年4月20日土曜日
milterとかexploder系

   •   magicで直接  Rubyを呼ぶものの場合:

 #!/home/app_user/.rvm/rubies/default/bin/ruby
 # -*- coding: utf-8 -*-
 require 'mail'
 require 'nokogiri'
                    :
                    :




                           「安心・安全・安定・信頼」できるインターネットサービスを   13
13年4月20日土曜日
ポイントは…


   •   コード側からは  rvm  の  “default”  を利利⽤用
        • 利利⽤用したい環境を”default”にしておくこと

        • rvmのdefaultを切切り替えるとそのまま追従する



   • rvmなので切切り替え前に実サーバ上で、前環境を壊さず
     にテスト可能
       • 失敗しても元に戻れる  →  重要

   • rvm  wrapper  コマンドは、バージョン@gemset直接指

     定しているのでいまいち

                       「安心・安全・安定・信頼」できるインターネットサービスを   14
13年4月20日土曜日
まとめ

   •   サーバ環境にもrvmを使うのおすすめ
       •   rubyのセキュリティfix対応などが楽にできるよ
       •   複数のアプリケーションごとに別バージョンのruby
           を共存できるよ




                      「安心・安全・安定・信頼」できるインターネットサービスを   15
13年4月20日土曜日
•   Thank  You!
        •   If  you  have  any  comments,
              •   please  send  to:
                   •   Mail:  izawa@izawa.org  /  izawa@clwit.co.jp
                   •   Twitter:  @Yukimitsu_̲Izawa




                                          「安心・安全・安定・信頼」できるインターネットサービスを   16
13年4月20日土曜日

Contenu connexe

Tendances

Vagrant×Rails セットアップ講習会資料
Vagrant×Rails セットアップ講習会資料Vagrant×Rails セットアップ講習会資料
Vagrant×Rails セットアップ講習会資料kayo tozaki
 
VagrantでAzureを使ってみた話
VagrantでAzureを使ってみた話VagrantでAzureを使ってみた話
VagrantでAzureを使ってみた話Yuta Matsumura
 
Node.js基礎の基礎 - Miyazaki.js vol.2
Node.js基礎の基礎 - Miyazaki.js vol.2Node.js基礎の基礎 - Miyazaki.js vol.2
Node.js基礎の基礎 - Miyazaki.js vol.2Nobuhiro Nakashima
 
20141117 movable type seminar
20141117 movable type seminar20141117 movable type seminar
20141117 movable type seminarSix Apart
 
Node.js で Web アプリ開発
Node.js で Web アプリ開発Node.js で Web アプリ開発
Node.js で Web アプリ開発Tatsumi Naganuma
 
レンタルサーバー/Vps/クラウド
レンタルサーバー/Vps/クラウドレンタルサーバー/Vps/クラウド
レンタルサーバー/Vps/クラウドNaoyuki Sano
 
Craft CMSに最適なサーバはどんな環境?
Craft CMSに最適なサーバはどんな環境?Craft CMSに最適なサーバはどんな環境?
Craft CMSに最適なサーバはどんな環境?Kei Mikage
 
ConoHaにおける オブジェクトストレージの 利用動向
ConoHaにおける オブジェクトストレージの 利用動向ConoHaにおける オブジェクトストレージの 利用動向
ConoHaにおける オブジェクトストレージの 利用動向Hironobu Saitoh
 
WordPressとwebサイトの常時ssl化
WordPressとwebサイトの常時ssl化WordPressとwebサイトの常時ssl化
WordPressとwebサイトの常時ssl化Endoh Shingo
 
ConoHa VPSの コマンドラインツールを作った
ConoHa VPSの コマンドラインツールを作ったConoHa VPSの コマンドラインツールを作った
ConoHa VPSの コマンドラインツールを作ったHironobu Saitoh
 
こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜
こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜
こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜furandon_pig
 
FreeBSD VPSでLive Migration
FreeBSD VPSでLive MigrationFreeBSD VPSでLive Migration
FreeBSD VPSでLive Migrationspg_games
 
Sails.jsのメリット・デメリット
Sails.jsのメリット・デメリットSails.jsのメリット・デメリット
Sails.jsのメリット・デメリットIto Kohta
 
Frontend optimization dena_creativeseminar
Frontend optimization dena_creativeseminarFrontend optimization dena_creativeseminar
Frontend optimization dena_creativeseminarDeNA_open_events
 
Node.js Tutorial at Hiroshima
Node.js Tutorial at HiroshimaNode.js Tutorial at Hiroshima
Node.js Tutorial at HiroshimaYoshihiro Iwanaga
 

Tendances (20)

Vagrant×Rails セットアップ講習会資料
Vagrant×Rails セットアップ講習会資料Vagrant×Rails セットアップ講習会資料
Vagrant×Rails セットアップ講習会資料
 
VagrantでAzureを使ってみた話
VagrantでAzureを使ってみた話VagrantでAzureを使ってみた話
VagrantでAzureを使ってみた話
 
Node.js基礎の基礎 - Miyazaki.js vol.2
Node.js基礎の基礎 - Miyazaki.js vol.2Node.js基礎の基礎 - Miyazaki.js vol.2
Node.js基礎の基礎 - Miyazaki.js vol.2
 
Concrete5×さくら
Concrete5×さくらConcrete5×さくら
Concrete5×さくら
 
20141117 movable type seminar
20141117 movable type seminar20141117 movable type seminar
20141117 movable type seminar
 
Node.js で Web アプリ開発
Node.js で Web アプリ開発Node.js で Web アプリ開発
Node.js で Web アプリ開発
 
PHP-Ninjaの裏側
PHP-Ninjaの裏側PHP-Ninjaの裏側
PHP-Ninjaの裏側
 
レンタルサーバー/Vps/クラウド
レンタルサーバー/Vps/クラウドレンタルサーバー/Vps/クラウド
レンタルサーバー/Vps/クラウド
 
Nodeについて
NodeについてNodeについて
Nodeについて
 
Craft CMSに最適なサーバはどんな環境?
Craft CMSに最適なサーバはどんな環境?Craft CMSに最適なサーバはどんな環境?
Craft CMSに最適なサーバはどんな環境?
 
ConoHaにおける オブジェクトストレージの 利用動向
ConoHaにおける オブジェクトストレージの 利用動向ConoHaにおける オブジェクトストレージの 利用動向
ConoHaにおける オブジェクトストレージの 利用動向
 
WordPressとwebサイトの常時ssl化
WordPressとwebサイトの常時ssl化WordPressとwebサイトの常時ssl化
WordPressとwebサイトの常時ssl化
 
ConoHa VPSの コマンドラインツールを作った
ConoHa VPSの コマンドラインツールを作ったConoHa VPSの コマンドラインツールを作った
ConoHa VPSの コマンドラインツールを作った
 
こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜
こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜
こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜
 
FreeBSD VPSでLive Migration
FreeBSD VPSでLive MigrationFreeBSD VPSでLive Migration
FreeBSD VPSでLive Migration
 
Node.js入門
Node.js入門Node.js入門
Node.js入門
 
Sails.jsのメリット・デメリット
Sails.jsのメリット・デメリットSails.jsのメリット・デメリット
Sails.jsのメリット・デメリット
 
Frontend optimization dena_creativeseminar
Frontend optimization dena_creativeseminarFrontend optimization dena_creativeseminar
Frontend optimization dena_creativeseminar
 
20150523
 20150523 20150523
20150523
 
Node.js Tutorial at Hiroshima
Node.js Tutorial at HiroshimaNode.js Tutorial at Hiroshima
Node.js Tutorial at Hiroshima
 

Similaire à RVM with Server Environment

Android 開発, 運用時に使いたいライブラリやサービスの紹介
Android 開発, 運用時に使いたいライブラリやサービスの紹介Android 開発, 運用時に使いたいライブラリやサービスの紹介
Android 開発, 運用時に使いたいライブラリやサービスの紹介健一 辰濱
 
さくらの夕べ 大阪 20140306 ファーストサーバセッション資料
さくらの夕べ 大阪 20140306 ファーストサーバセッション資料さくらの夕べ 大阪 20140306 ファーストサーバセッション資料
さくらの夕べ 大阪 20140306 ファーストサーバセッション資料Masahiro NISHIGUCHI
 
Softlayerを申込んでみた参考資料 140730
Softlayerを申込んでみた参考資料 140730Softlayerを申込んでみた参考資料 140730
Softlayerを申込んでみた参考資料 140730YoshiyukiKonno
 
Transnet.+ lunch mt #1
Transnet.+ lunch mt #1Transnet.+ lunch mt #1
Transnet.+ lunch mt #1Ryota Tomomura
 
Perl Beginners #7 おとなのWAF
Perl Beginners #7 おとなのWAF Perl Beginners #7 おとなのWAF
Perl Beginners #7 おとなのWAF Munenori Sugimura
 
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会Yukihiko SAWANOBORI
 
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜リリース編 先生:増井雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜リリース編 先生:増井雄一郎増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜リリース編 先生:増井雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜リリース編 先生:増井雄一郎schoowebcampus
 
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Serfが面白いと俺の中で話題にwwwwww 【改訂版】Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Serfが面白いと俺の中で話題にwwwwww 【改訂版】Masahito Zembutsu
 
Getting Started with Ruby on Rails4 + Twitter Bootstrap3
Getting Started with Ruby on Rails4 + Twitter Bootstrap3Getting Started with Ruby on Rails4 + Twitter Bootstrap3
Getting Started with Ruby on Rails4 + Twitter Bootstrap3Yukimitsu Izawa
 
A2 SORACOM API使いこなしレシピ集 | SORACOM Technology Camp 2020
A2 SORACOM API使いこなしレシピ集 | SORACOM Technology Camp 2020A2 SORACOM API使いこなしレシピ集 | SORACOM Technology Camp 2020
A2 SORACOM API使いこなしレシピ集 | SORACOM Technology Camp 2020SORACOM,INC
 
クラウド時代を生き残る経営戦略策定のススメ「クラウドは敵か?味方か?」(山口・岡山)
クラウド時代を生き残る経営戦略策定のススメ「クラウドは敵か?味方か?」(山口・岡山)クラウド時代を生き残る経営戦略策定のススメ「クラウドは敵か?味方か?」(山口・岡山)
クラウド時代を生き残る経営戦略策定のススメ「クラウドは敵か?味方か?」(山口・岡山)Serverworks Co.,Ltd.
 
○ヶ月でできた!?さくらのクラウド開発秘話(【ヒカ☆ラボ】さくらインターネットとMilkcocoa!年末イベント:ここだけのウラ話)
○ヶ月でできた!?さくらのクラウド開発秘話(【ヒカ☆ラボ】さくらインターネットとMilkcocoa!年末イベント:ここだけのウラ話)○ヶ月でできた!?さくらのクラウド開発秘話(【ヒカ☆ラボ】さくらインターネットとMilkcocoa!年末イベント:ここだけのウラ話)
○ヶ月でできた!?さくらのクラウド開発秘話(【ヒカ☆ラボ】さくらインターネットとMilkcocoa!年末イベント:ここだけのウラ話)さくらインターネット株式会社
 
Serfが面白いと俺の中で話題にwwwwww
Serfが面白いと俺の中で話題にwwwwwwSerfが面白いと俺の中で話題にwwwwww
Serfが面白いと俺の中で話題にwwwwwwMasahito Zembutsu
 
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話しサーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話しAkira Nagata
 
Rails の自動読み込みを支える技術
Rails の自動読み込みを支える技術Rails の自動読み込みを支える技術
Rails の自動読み込みを支える技術Tomohiko Himura
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825hiro345
 

Similaire à RVM with Server Environment (20)

Pow
PowPow
Pow
 
Android 開発, 運用時に使いたいライブラリやサービスの紹介
Android 開発, 運用時に使いたいライブラリやサービスの紹介Android 開発, 運用時に使いたいライブラリやサービスの紹介
Android 開発, 運用時に使いたいライブラリやサービスの紹介
 
さくらの夕べ 大阪 20140306 ファーストサーバセッション資料
さくらの夕べ 大阪 20140306 ファーストサーバセッション資料さくらの夕べ 大阪 20140306 ファーストサーバセッション資料
さくらの夕べ 大阪 20140306 ファーストサーバセッション資料
 
Softlayerを申込んでみた参考資料 140730
Softlayerを申込んでみた参考資料 140730Softlayerを申込んでみた参考資料 140730
Softlayerを申込んでみた参考資料 140730
 
Transnet.+ lunch mt #1
Transnet.+ lunch mt #1Transnet.+ lunch mt #1
Transnet.+ lunch mt #1
 
Red5
Red5Red5
Red5
 
Perl Beginners #7 おとなのWAF
Perl Beginners #7 おとなのWAF Perl Beginners #7 おとなのWAF
Perl Beginners #7 おとなのWAF
 
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
 
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜リリース編 先生:増井雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜リリース編 先生:増井雄一郎増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜リリース編 先生:増井雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜リリース編 先生:増井雄一郎
 
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Serfが面白いと俺の中で話題にwwwwww 【改訂版】Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
 
Getting Started with Ruby on Rails4 + Twitter Bootstrap3
Getting Started with Ruby on Rails4 + Twitter Bootstrap3Getting Started with Ruby on Rails4 + Twitter Bootstrap3
Getting Started with Ruby on Rails4 + Twitter Bootstrap3
 
A2 SORACOM API使いこなしレシピ集 | SORACOM Technology Camp 2020
A2 SORACOM API使いこなしレシピ集 | SORACOM Technology Camp 2020A2 SORACOM API使いこなしレシピ集 | SORACOM Technology Camp 2020
A2 SORACOM API使いこなしレシピ集 | SORACOM Technology Camp 2020
 
クラウド時代を生き残る経営戦略策定のススメ「クラウドは敵か?味方か?」(山口・岡山)
クラウド時代を生き残る経営戦略策定のススメ「クラウドは敵か?味方か?」(山口・岡山)クラウド時代を生き残る経営戦略策定のススメ「クラウドは敵か?味方か?」(山口・岡山)
クラウド時代を生き残る経営戦略策定のススメ「クラウドは敵か?味方か?」(山口・岡山)
 
○ヶ月でできた!?さくらのクラウド開発秘話(【ヒカ☆ラボ】さくらインターネットとMilkcocoa!年末イベント:ここだけのウラ話)
○ヶ月でできた!?さくらのクラウド開発秘話(【ヒカ☆ラボ】さくらインターネットとMilkcocoa!年末イベント:ここだけのウラ話)○ヶ月でできた!?さくらのクラウド開発秘話(【ヒカ☆ラボ】さくらインターネットとMilkcocoa!年末イベント:ここだけのウラ話)
○ヶ月でできた!?さくらのクラウド開発秘話(【ヒカ☆ラボ】さくらインターネットとMilkcocoa!年末イベント:ここだけのウラ話)
 
Serfが面白いと俺の中で話題にwwwwww
Serfが面白いと俺の中で話題にwwwwwwSerfが面白いと俺の中で話題にwwwwww
Serfが面白いと俺の中で話題にwwwwww
 
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話しサーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話し
 
Mbed2013
Mbed2013Mbed2013
Mbed2013
 
Paa s and oss
Paa s and ossPaa s and oss
Paa s and oss
 
Rails の自動読み込みを支える技術
Rails の自動読み込みを支える技術Rails の自動読み込みを支える技術
Rails の自動読み込みを支える技術
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825
 

Plus de Yukimitsu Izawa

IoTタグで遊んでみよう
IoTタグで遊んでみようIoTタグで遊んでみよう
IoTタグで遊んでみようYukimitsu Izawa
 
最新プロトコル HTT/2 とは
最新プロトコル HTT/2 とは最新プロトコル HTT/2 とは
最新プロトコル HTT/2 とはYukimitsu Izawa
 
RubyとEyeTribeで視線追跡をする
RubyとEyeTribeで視線追跡をするRubyとEyeTribeで視線追跡をする
RubyとEyeTribeで視線追跡をするYukimitsu Izawa
 
Rubyでオートマトン
RubyでオートマトンRubyでオートマトン
RubyでオートマトンYukimitsu Izawa
 
Octopress簡単スタートガイド
Octopress簡単スタートガイドOctopress簡単スタートガイド
Octopress簡単スタートガイドYukimitsu Izawa
 
RubyからFFIを使ってみた
RubyからFFIを使ってみたRubyからFFIを使ってみた
RubyからFFIを使ってみたYukimitsu Izawa
 
NTPを使ったDDoSについて
NTPを使ったDDoSについてNTPを使ったDDoSについて
NTPを使ったDDoSについてYukimitsu Izawa
 
rvm でbundlerと仲良くする
rvm でbundlerと仲良くするrvm でbundlerと仲良くする
rvm でbundlerと仲良くするYukimitsu Izawa
 
SWIGでRubyバインディング
SWIGでRubyバインディングSWIGでRubyバインディング
SWIGでRubyバインディングYukimitsu Izawa
 
MacRubyとHotCocoaでMacのアプリを作ってみた
MacRubyとHotCocoaでMacのアプリを作ってみたMacRubyとHotCocoaでMacのアプリを作ってみた
MacRubyとHotCocoaでMacのアプリを作ってみたYukimitsu Izawa
 

Plus de Yukimitsu Izawa (16)

IoTタグで遊んでみよう
IoTタグで遊んでみようIoTタグで遊んでみよう
IoTタグで遊んでみよう
 
docxをmdで書こう
docxをmdで書こうdocxをmdで書こう
docxをmdで書こう
 
最新プロトコル HTT/2 とは
最新プロトコル HTT/2 とは最新プロトコル HTT/2 とは
最新プロトコル HTT/2 とは
 
RubyとEyeTribeで視線追跡をする
RubyとEyeTribeで視線追跡をするRubyとEyeTribeで視線追跡をする
RubyとEyeTribeで視線追跡をする
 
Rubyでオートマトン
RubyでオートマトンRubyでオートマトン
Rubyでオートマトン
 
Ghissuesのご紹介
Ghissuesのご紹介Ghissuesのご紹介
Ghissuesのご紹介
 
Log-modeのご紹介
Log-modeのご紹介Log-modeのご紹介
Log-modeのご紹介
 
Octopress簡単スタートガイド
Octopress簡単スタートガイドOctopress簡単スタートガイド
Octopress簡単スタートガイド
 
RubyからFFIを使ってみた
RubyからFFIを使ってみたRubyからFFIを使ってみた
RubyからFFIを使ってみた
 
NTPを使ったDDoSについて
NTPを使ったDDoSについてNTPを使ったDDoSについて
NTPを使ったDDoSについて
 
テストとは
テストとはテストとは
テストとは
 
RubyでDSL
RubyでDSLRubyでDSL
RubyでDSL
 
Try
TryTry
Try
 
rvm でbundlerと仲良くする
rvm でbundlerと仲良くするrvm でbundlerと仲良くする
rvm でbundlerと仲良くする
 
SWIGでRubyバインディング
SWIGでRubyバインディングSWIGでRubyバインディング
SWIGでRubyバインディング
 
MacRubyとHotCocoaでMacのアプリを作ってみた
MacRubyとHotCocoaでMacのアプリを作ってみたMacRubyとHotCocoaでMacのアプリを作ってみた
MacRubyとHotCocoaでMacのアプリを作ってみた
 

Dernier

プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 

Dernier (8)

プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 

RVM with Server Environment

  • 1. サーバ環境で使うRVM 株式会社クルウィット 井澤 志充 Kanazawa.rb #8 「安心・安全・安定・信頼」できるインターネットサービスを 13年4月20日土曜日
  • 2. RVMとは? • RVM:  Ruby  Version  Manager • 公式サイト:  https://rvm.io/ • 複数のバージョンのRubyを使い分けることが出来る仕組 み • 複数のgemsetも使い分けれます 「安心・安全・安定・信頼」できるインターネットサービスを 2 13年4月20日土曜日
  • 4. Jewelry Box • RVM公式の  OSX版  RVM  GUIインタフェース • 公式サイト:  http://jewelrybox.unfiniti.com/ • RVM環境のステータス確認やメンテナスなどが簡単にで きる • なんかいろいろできるらしいっすー 「安心・安全・安定・信頼」できるインターネットサービスを 4 13年4月20日土曜日
  • 7. サーバ環境で使う利点 •新しいバージョンのRuby/Gemへの容易易なアップグレード が可能 • セキュリティフィックスなど • 複数のバージョンの共存 • ⼀一つにサーバに複数のアプリ(サービス) →RVMを介することで、コードの改修なしに追従可能 「安心・安全・安定・信頼」できるインターネットサービスを 7 13年4月20日土曜日
  • 8. RVMのインストール • インストール方法は3種類 • Single-User install • ユーザ個人用に、~/.rvm へ installされる • Multi-User install • システム全体用に、/usr/local/rvm へinstall される • Mixed-User install • multi-Userでinstallされたものをベースに個人で使 う部分を別途、追加/Overrideして使うモード 「安心・安全・安定・信頼」できるインターネットサービスを 8 13年4月20日土曜日
  • 9. RVMのしくみ • Shell-‐‑‒Scriptのかたまり • 環境変数・Shell変数を適宜設定して、使うRuby/Gemを 変更更している • $PATH,  $GEM_̲HOME,  $GEM_̲PATH,など • 上記の適宜設定の部分を手動でやっても使うことができ るということ 「安心・安全・安定・信頼」できるインターネットサービスを 9 13年4月20日土曜日
  • 10. RVMの使い方 • 使⽤用するrubyの切切り替え • rvm  use  <ruby-‐‑‒version> • エイリアスの設定 • rvm  alias  create  <alias>  <origin> • gemsetの設定 • rvm  gemset  create  <gemset> • rvm  use  <ruby>@<gemset> 「安心・安全・安定・信頼」できるインターネットサービスを 10 13年4月20日土曜日
  • 11. サーバ環境で使う方法 今回のポリシとして… • サービスアプリごとに専⽤用のユーザを作成する • アプリユーザのSingle-‐‑‒User  installで利利⽤用する • 全てのプロセスは、アプリユーザが実効ユーザであるよ うにする 「安心・安全・安定・信頼」できるインターネットサービスを 11 13年4月20日土曜日
  • 12. rc.d/init.d Scriptの場合 #!/usr/local/bin/bash start() { echo -n "Starting hogeapp: " su app_user -c "source /home/app_user/.rvm/scripts/rvm; cd /home/app_user/hogeapp; bin/unicorn_rails -c config/unicorn.rb - E production -D" return 0 } stop() { kill -INT `cat ~app_user/hogeapp/tmp/pids/unicorn.pid` return 0 } case "$1" in start) start ;; stop) stop ;; esac 「安心・安全・安定・信頼」できるインターネットサービスを 12 13年4月20日土曜日
  • 13. milterとかexploder系 • magicで直接  Rubyを呼ぶものの場合: #!/home/app_user/.rvm/rubies/default/bin/ruby # -*- coding: utf-8 -*- require 'mail' require 'nokogiri' : : 「安心・安全・安定・信頼」できるインターネットサービスを 13 13年4月20日土曜日
  • 14. ポイントは… • コード側からは  rvm  の  “default”  を利利⽤用 • 利利⽤用したい環境を”default”にしておくこと • rvmのdefaultを切切り替えるとそのまま追従する • rvmなので切切り替え前に実サーバ上で、前環境を壊さず にテスト可能 • 失敗しても元に戻れる  →  重要 • rvm  wrapper  コマンドは、バージョン@gemset直接指 定しているのでいまいち 「安心・安全・安定・信頼」できるインターネットサービスを 14 13年4月20日土曜日
  • 15. まとめ • サーバ環境にもrvmを使うのおすすめ • rubyのセキュリティfix対応などが楽にできるよ • 複数のアプリケーションごとに別バージョンのruby を共存できるよ 「安心・安全・安定・信頼」できるインターネットサービスを 15 13年4月20日土曜日
  • 16. Thank  You! • If  you  have  any  comments, • please  send  to: • Mail:  izawa@izawa.org  /  izawa@clwit.co.jp • Twitter:  @Yukimitsu_̲Izawa 「安心・安全・安定・信頼」できるインターネットサービスを 16 13年4月20日土曜日