【忘備録】ローカルに簡易サーバーを立ててしまう方法の色々

お盆休みもすっかり「あまちゃん」にハマっていた大熊猫です。
そんなわけで休暇中にこれといったネタになる事もやっていないので、今回は久々に忘備録(ぼうびろく)です。(逃)

簡易サーバーが欲しいとき

Webサイトの動作確認は基本的にはブラウザでファイルを開けば出来るのですが、
サーバーを通してHTTPでアクセスしないと正常に動作しない場合もあります。

例えばAjaxのテストなどはブラウザによってはファイルを開くだけではエラーになるの場合も
あり、その場合は都度サーバーにUPして、動作確認をする事になります。

でも、正直なところ、簡単な確認だったりはローカル環境でやってしまいたいところです。

と言うわけで今回はローカル環境に簡易サーバーの立て方のアレコレです。

簡易HTTPサーバーを立てる方法

今回の前提

今回は以下のような階層構造を前提に話を進めます。

│
├──hoge
│

また、以下の解説は現在地から一つ下の階層にあるhogeに移動します。

$ cd hoge

Nodeの場合

ローカル環境にNode.jsがある場合の方法です。
Node.jsで簡易サーバーを立てる方法は幾つかあるのですが、最近知った中では
こちらのtakeapeeというnpmプラグインを使うのが簡単そうです。

尚、Node.jsとnpmはインストール済みの前提で話を進めます。
これらのインストールについては過去のNode関連の記事をご参照下さい。

まずtakeapeekを以下のようにグローバルインストールします。

$ sudo npm install -g takeapeek

※Widowsの場合はMinGWなど(黒い画面)を管理者権限で起動して
以下のようにnpmコマンドから実行してください。

$ npm install -g takeapeek

次にサーバーを立てたい(HTTPアクセスで表示したい)ディレクトリ(今回は「hoge」)に移動します。
そして「takeapeek」とコマンドを叩きます。

$ cd hoge
$ takeapeek

無事起動すると以下のようになるはずです。

$ takeapeek
Serving static file from directory /xxx/hoge※ on port 3141

※こちらは実行したディレクトリのパスが表示されます。

起動したらブラウザで確認してみましょう。

takeapeekの標準のportが「3141」なのでブラウザで「http://localhost:3141/」にアクセスし、ページが表示されればOKです。

またtakeapeekはportを含む細かな設定が可能です。
詳しくはREADMEをご参照下さい。

余談

余談ですがNode.jsの場合は以前にこちらでも紹介したようなGruntで
設定してしまう方法もあります。

Rubyの場合

次にRubyの場合です。
RubyはMac OSでは標準で入っていますし、WindowsでもSassを使っている人などインストールされている方も多いのでそのあたりは割愛致します。

Rubyの場合は以下のコマンドをサーバーを立てたいディレクトリで実行するのみでOKです。


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

「http://localhost:8000/」にアクセスすると確認できます。

Pythonの場合

最後にPythonです。
私はあまりお世話になる機会がないのですが、一応。。

$ cd hoge
$ python -m SimpleHTTPServer

こちらも「http://localhost:8000/」にアクセスすると確認できます。

まとめ

と言うわけで今回はネタがなかったので便利なのに忘れてしまう「簡易HTTPサーバーを立てる方法」を記事にしてみました。
他にもJavaや他の言語で同じような事ができますので、必要に応じて環境のを整えると良いかと思います。
それでは~

今回の参考サイト