webrickとは
rubyには,httpサーバの機能を提供するフレームワーク,webrickがある.webrickはruby-1.8以降では標準で添付されている.このため,apacheなどのサーバプログラムをインストールする必要がない.加えて,apacheのような複雑な設定ファイルの記述は不要である.
これは,簡易httpサーバを立てる際に便利である.例えば,次のような場合に威力を発揮する.
- htmlやcgiなどの簡単なコーディングをして,動作させたい
- ローカルで運営する簡単なwebサーバをたてたい
このような場合,apacheほどの速度やセキュリティは必要ではなく,お手軽さが臨まれる.この要望を満たす手段として,webrickは有用である.
サンプルコード
以下に,webサーバをたてるサンプルコードを示す.ここで,公開するファイルの置かれているドキュメントのルートディレクトリは,${HOME}/public_html/とする.
#!/usr/bin/env ruby
require 'webrick'
server = WEBrick::
HTTPServer.new({
:Port => 80,
:BindAddress => '0.0.0.0',
:DocumentRoot => "#{ENV['HOME']}/public_html/"})
trap('INT') { server.shutdown }
server.start
HTTPServer.newでサーバを起動する.引数は以下の通り.
- Port 使用するポート番号を指定する
- BindAddres 起動するサーバのIPアドレスを指定する
- DocumentRoot htmlドキュメントを置くルートディレクトリを指定する
実行
上に示したスクリプトを保存し,実行すると,httpサーバの動作を開始する.終了時は,Ctrl+cで終了する.
閲覧
${HOME}/public_htmlにindex.htmlを置き,http://localhost/にアクセスすると,index.htmlの内容を閲覧することができる.
関連文献
webrickリファレンス
WEBrick::HTTPServer - Rubyリファレンスマニュア