参考
ホントにワンライナー
起動
# 作業用のディレクトリ作成 mkdir ~/web cd ~/web # HTML ファイルを用意 touch test.html # ワンライナー Web サーバー起動 ruby -run -e httpd . -p 8000 & # 起動した [2015-06-13 01:25:26] INFO WEBrick 1.3.1 [2015-06-13 01:25:26] INFO ruby 2.1.5 (2014-11-13) [x86_64-linux-gnu] [2015-06-13 01:25:26] INFO WEBrick::HTTPServer#start: pid=9080 port=8000
どうやら WEBrick が起動するようだ。
確認
$ curl -I localhost:8000/test.html HTTP/1.1 200 OK Etag: a1ea3-0-557b85d9 Content-Type: text/html Content-Length: 0 Last-Modified: Sat, 13 Jun 2015 01:22:33 GMT localhost - - [13/Jun/2015:01:27:47 UTC] "HEAD /test.html HTTP/1.1" 200 0 Server: WEBrick/1.3.1 (Ruby/2.1.5/2014-11-13) Date: Sat, 13 Jun 2015 01:27:47 GMT Connection: Keep-Alive - -> /test.html
ちゃんとレスポンス返ってくる。
どうやってんの?
un という Unix の基本コマンドの代替となる Class の httpd メソッドを利用しているとのこと。
以下のようなオプションが利用出来る。
ruby -run -e httpd -- [OPTION] DocumentRoot --bind-address=ADDR address to bind --port=NUM listening port number --max-clients=MAX max number of simultaneous clients --temp-dir=DIR temporary directory --do-not-reverse-lookup disable reverse lookup --request-timeout=SECOND request timeout in seconds --http-version=VERSION HTTP version -v verbose
ということで
ちょっと Web サーバーを起動したい場合に Apache や Nginx をインストールするのがカッタルイ場合にお手軽に利用出来そう。