CodeZine(コードジン)

特集ページ一覧

Railsの実践:NetBeansによる開発とLinuxへのデプロイ

RailsアプリケーションをLinuxサーバ上で動かす設定方法

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2008/04/01 14:00

NetBeans 6.0のRubyおよびRailsサポートの活用方法を理解して、Linuxサーバー上にRailsアプリケーションを効率よくデプロイするテクニックについて学びます。

目次

はじめに

 Rubyは簡潔な言語であり、この点は開発において重要な意味を持ちます。つまり、コード行が少なくなれば、開発にかかる時間やメンテナンスの費用が減少するということです。RailsはRubyベースのWebアプリケーションフレームワークで、ほとんどの開発者にとって扱いやすいフレームワークですが、大規模なWebアプリケーションをデプロイする際にスケーリングの制限に直面することがあります。Railsアプリケーションを多数のサーバーに拡張して何千ものユーザーを同時に処理しようとすると確かに問題にぶつかる可能性がありますが、中小規模のRailsアプリケーションならば、適切なツールとテクニックを駆使すれば効果的にデプロイできます。

 この記事では、そのための具体的な方法を説明します。以降では、私のお気に入りのRubyおよびRails開発IDEであるNetBeans 6.0と、オープンソースのサーバーとキャッシングシステムを使いながら、私が担当している典型的なRailsアプリケーション(シングルサーバー上で動作し、100人程度の同時実行ユーザーに対応)を例にとって説明していきます。まず、RubyおよびRailsを開発するためのNetBeans 6.0の設定方法を説明してから、Railsアプリケーションを効率よくデプロイするためのテクニックについて述べていきます。

 この記事は、読者にRails開発およびバージョン管理の経験があることを前提としています。Rails開発に関してはRailsアプリケーションの作成およびRailsコマンドラインツールの使用についての知識、バージョン管理に関してはコマンドラインSVNツールのインストールと使用についての知識が必要です(「補足説明1:バージョン管理にSubversionを使用する」を参照)。また、本番環境用Linuxサーバーの設定(およびRuby、Gem、Railsのインストール)の方法を知っていることも前提条件になります。これらを設定するための手順は説明しません。この記事を最大限に活用するためには、RailsおよびLinuxサーバーの他に以下のテクノロジを導入する必要があります。

必要なテクノロジ

補足説明1 バージョン管理にSubversionを使用する
 NetBeansはSubversion(svn)をサポートしていますが、私はSSHシェルのリモートサーバーでsvnを実行することに慣れているので、コマンドラインsvnツールを好んで使っています。railsコマンドを使用して空のRailsプロジェクトを作成したら、速やかにsvnを使い始めることを強くお勧めします。新規に作成した空のRailsプロジェクトでsvn importを実行したら、プロジェクトのフレッシュチェックアウトを行ってから、何を対象外とすべきかをsvnに指定してください。
svn propset svn:ignore "*.log" log
svn propset svn:ignore "schema.rb" db
svn revert public/index.html
rm public/index.html
大規模チームではSubversionリポジトリを設定し、trunk、tags、brancesにはそれぞれ異なるディレクトリを使用しなければなりません。安価な仮想プライベートサーバー(VPS)にデプロイを行う場合、そのRailsプロジェクトは開発者が1人か2人の小規模あるいは中規模程度のものであることが考えられます。この場合は、単純にtrunkから開発しデプロイしてください。

  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:japan.internet.com翻訳記事

もっと読む

著者プロフィール

  • japan.internet.com(ジャパンインターネットコム)

    japan.internet.com は、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.com や EarthWeb.c...

  • Mark Watson(Mark Watson)

    Javaコンサルタント。Java、人工知能、C++、知的エージェントに関する書籍を14冊執筆している。

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5