何か着ていればいいよ

ソフトウェア技術者の日常や技術の話を書こうと思います。

ちゃちゃっとWebサーバーを立てる方法

自分のやってきた方法の履歴を公開してみます。

やりたいこと

開発環境(Windows)であるところの自分のPCでちゃちゃっとWebサーバーたてて、静的コンテンツ確認したいな。
的な場合の話です。
題名とちょっとずれているような気もするけど気にしない。
例えば、htmlとcssJavaScriptだけ用意して簡単な見栄えや動きを確認する場合なんかです。
動的なサーバーサイドの確認はまた違ったやり方することが多いです。

IIS

WindowsならIISっしょ常識的に考えて!
そんなふうに考えていた時期が僕にもありました。

  • メリット
    • Windowsと親和性が高い。
    • UIでポチポチやってWebサーバーが動かせる
  • デメリット
    • 最初に使うときはIISインストール必要。(特に昔はインストールディスクが必要でうざかった。)
    • ぶっちゃけ、UIで設定とかメンドイ

apache http server

Webサーバーならapacheっしょ。というわけでapacheも試しました。

  • メリット
  • デメリット
    • たまにしか触らないのにhttpd.confの書き方が分からん!って毎回なった。
    • 前職の現場に入っていたウィルス対策ソフトに通信をブロックされてしまった。

Jetty

サーブレットコンテナのjettyは単独でjavaプロセス起動してWebサーバーとして機能するので重宝していました。

  • メリット
    • 業務プロダクトでもつかっていたので精通していた
    • 起動終了をコマンドたたいて簡単に出来た
  • デメリット
    • 設定の仕方とかそんなに情報はない(5年くらい前の当時)
> java -jar jetty.jar

みたいな実行の仕方だったと思う。(うろ覚え)

Python http.server

Python2系とPython3系で異なるようですが、pythonは処理系に簡易なWebサーバーが最初から入っていることを最近知りました。

  • メリット
    • 非常にお手軽
  • デメリット
    • python、手元の開発PC(Windows)にpython必ず入っているか?というと微妙なので。
    • pythonのバージョンによって呼び出し方が異なる

例えば、Python2系なら

> python -m SimpleHTTPServer [ポート番号(デフォルトは8000)]

python3系だと

> python -m http.server [ポート番号(デフォルトは8000)]

みたいな感じ

まとめ

今ならpythonかなぁ。
コマンド実行したディレクトリがドキュメントルートになるので使い勝手がよいのですよ。
あと、たぶんrubyやnodeでも出来るんだろうけど自分がやり方を知らないというだけなので。
そこらへん調べて分かったら追記なりフォローしよう。