PR

WEBrickを使ってみよう!

2008年8月5日(火)
masuidrive

まずはちょっと動かしてみる

 WEBrickを使うにはRuby 1.8以上がインストールされている環境が必要です。Rubyをインストールしていない方は、Rubyのインストール(http://pub.cozmixng.org/~the-rwiki/rw-cgi.rb?cmd=view;name=Ruby+Install+Guide)を参考にお使いの環境へインストールしてください。

 Webサーバーとして動かすのに必要なコードは、たった10行です。図1のリスト1を入力してhttpserver1.rbという名前で保存してください。

 Apacheの設定をしたことのある方であれば、おおよそ見当はつくと思いますが、リスト1内の6、7行目が設定に当たる部分です。今回は8000番ポートで起動し、ファイルを置くDocumentRootはカレントディレクトリ下のpublic_htmlになります。

 次にこのスクリプトを起動してみて、実際にこのWebサーバーにアクセスしてみましょう。コマンドプロンプトから図1の下のように実行します。

 このスクリプトを起動したのと同じマシンから、「http://localhost:8000」をWebブラウザで開きます。

 「Index of/」と表示され「Parent Directory」が表示されればOKです。「Not Found」と表示された場合、DocumentRootで指定したディレクトリがない可能性があるので、以下のコマンドを実行してください。

$ mkdir public_html

 続いて、public_htmlの下に何かHTMLファイルを置いてみましょう。以下を入力してindex.htmlという名前で保存してください。

I'm WEBrick.

 もう一度、「http://localhost:8000」をWebブラウザで開くと、先ほど入力したHTMLがレンダリングされて表示されるはずです。

 このWEBrickで作ったWebサーバーは、もちろんHTMLだけでなく、画像ファイルも同じように置いて表示させることができます。

 このようにWEBrickは、通常のWebサーバーと同じように利用することができます。自分や社内向けなどで一時的にWebサーバーが必要な時はApacheよりもずっと楽に稼働させることができます。

WEBrickとApacheの違い

 では、このWEBrickとApacheの違いはなんでしょうか。実は違いは、たった2点です。1つは添付しているモジュールの数で、もう1つは開発言語です。

 WEBrickもApacheもファイルをHTTPで送信するという、基本的なWebサーバーとしての機能は備えています。ApacheではCoreモジュールと呼ばれる部分です。

 Apacheは非常に高機能なWebサーバーですが、基本はこのCoreモジュールで提供されており、それ以外のCGIやProxy、URL書き換えなどの機能はそれぞれのモジュールとして提供されています。Apache 2.2ではこのモジュールが81個標準で含まれています。それに対してWEBrickは、標準機なWebサーバーとProxyサーバーの機能のみが提供されています。

 WEBrickは、標準的な機能が少ない分シンプルにできており、プログラムによる拡張が容易になっています。加えてすべてがRubyで書かれているために、全体の把握が容易で特に学習には向いているでしょう。最近では、Rubyのコードの書き方のお手本の1つとしてWEBrickが上げられるほど、ソースが読みやすいとされています。

PukiWikiなどのオープンソース活動を経て、2005年からRuby on Railsに的を絞り、WEB2.0社 PingKingやニフティ アバウトミーの開発に関わる。これまでのフリー活動から転身し、2007年は1年だけ会社員として働いた後、起業のため渡米。2008年4月にBig Canvas Inc.設立。現在、米ベルビュー在住。http://bigcanvasinc.com/http://blog.masuidrive.jp/

Think IT会員サービス無料登録受付中

Think ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。会員登録を済ませてThink ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

他にもこの記事が読まれています