WEBrick は Ruby の標準添付ライブラリで、簡易サーバです。取り敢えず動かしてみる。
まず、『Ruby逆引きハンドブック』の p.530 のコードをコピペ。これを実行。
#! /usr/bin/env ruby require 'bundler/setup' require 'webrick' opts = {:BindAddress => "127.0.0.1", :Port => 10080, :DocumentRoot => "."} srv = WEBrick::HTTPServer.new(opts) Signal.trap(:INT) {srv.shutdown} srv.start
HTML は適当に。カレントディレクトリに置く。
helloworld.html
<!DOCTYPE html> <html lang="ja"> <title>HelloWorld</title> <head></head> <body> Hello, World! </body> </html>
ブラウザで http://127.0.0.1:10080/helloworld.html
にアクセス。すると Hello, World!
が出る筈。
Crtl + C で終了。
ローカルでは接続するのに、IPアドレスを指定して他の PC から接続しようとしたらできなかった。色々ぐぐってみたが解決しない。そのうちハッと気づいてファイアウォールを切ってみたら、あっさり接続。わざわざ Gufw でファイアウォールを導入していたのだった。まあ、ファイアウォールの効果があるということか。
とにかく、これだけで静的なホームページなら自前で公開できてしまう。へーという感じ。ただし、WEBrick は遅いので、公開用のサーバには向いていないらしい。でも、こんなに簡単にサーバが作れてしまうのだから、僕みたいな初心者の遊びにはすごくいいですね。
Sinatra を動かしてみる
調子に乗って Sinatra です。まず Gem をインストール。で、以下を実行。デフォルトで WEBrick が立ち上がります。
#! /usr/bin/env ruby require 'bundler/setup' require 'sinatra' set :environment, :production get '/' do 'Hello, Sinatra!' end
そして、ブラウザで http://localhost:4567/
(ポート番号の 4567 は変わるかも知れません)にアクセスすれば 、Hello, Sinatra!
が出る筈。たったこれだけです。
set
で始まる文は、ローカルの時は必要ありません。IPアドレスを指定して外部からアクセスする時に必要になります。ちなみに、「外部」と云っても LAN の中です。