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 Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

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