jekylog

All doggs wanna be a Geek

ローカルで簡易HTTPサーバー

Pythonの場合

SimpleHTTPServerが便利そうだけどWindowで使ってみるとなぜか外部ファイル(CSS)読み込まれなかったりでうまくいかなかった。 ちなみにコマンドラインからPython使うには環境変数にPythonのパス(例:C:\Python25)を追加しとく必要がある。

$ cd /path/to/directory
$ python -m SimpleHTTPServer

若しくは下記ファイルをwebserver.pyとかの名前で設置しといて実行するのもあり。

#! /usr/bin/env python
# coding: utf-8

import SimpleHTTPServer

SimpleHTTPServer.test()

いずれもhttp://localhost:8000/にアクセスすると確認できる。

Rubyの場合

こっちはスムーズにいった。 まずはコマンドラインから叩く場合。

$ cd /path/to/directory
$ ruby -rwebrick -e "WEBrick::HTTPServer.new({:DocumentRoot => './', :Port => 8000}).start"

コマンドラインから叩く場合は下記ファイルをwebserver.rbとして保存しておく。 ちなみにDocumentRootはその都度設定しておく。 カレントディレクトリで起動の場合は不要だった。

require 'webrick'

server = WEBrick::HTTPServer.new({
    :DocumentRoot => './',
    :BindAddress => '0.0.0.0',
    :Port => 8000
})

['INT', 'TERM'].each {|signal|
    Signal.trap(signal){ server.shutdown }
}

server.start

んで、

$ cd /path/to/directory
$ ruby webserver.rb

いずれもhttp://localhost:8000/にアクセスすると確認できる。

下記参考サイト。

Fork me on GitHub