Python で Web サーバーを動かす 【Windows】

Python

Python で Web サーバーを動かす手順についてまとめておきます。必要最小限の知識で済む記載としています。

以下の環境で動作確認をしています。

環境: Windows 10、Python 3.x をインストール済み
(ほぼ同等の手順で Linux などでも動くと思います。)

背景 ~ Python でローカル web server

Python などを使って、いろいろとサーバーの技術検討をしていると、手元のローカルのパソコンで、できるだけ簡単に Web サーバーを稼働させて動作確認をしてみたくなることがあります。

そこで、Web サーバーを動かす最もシンプルな手順についてまとめておきます。

Python がインストールされたパソコンさえあれば、特に新たなソフトウェアを入れることなく、サーバーとクライアントが動くよう意図しています。

設定手順

ステップ1:ドキュメントルートの設定

① 以下を参考にドキュメントルートとするためのフォルダ(”html1″)を作ります。
例: C:\user\html1
② ①のフォルダの中に “index.html” というテキストファイルを作り、以下を書き込んで保存してください。
“hello world!”

ステップ2:ドキュメントルートでWebサーバーを起動する

③ コマンドプロンプト(または、Anaconda Prompt)を起動して、①のフォルダ(ドキュメントルート)に移動します。
例: cd C:\user\html1
④ 以下を参考に、コマンドプロンプトでサーバーを起動するコマンドを実行します。
例:

python -m http.server 8000

※ ここで、コマンドプロンプトに ”Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) …” 等の文字列が表示されたら、Web サーバーが正常に起動しています。
※ Web サーバーを停止する場合は、コマンドプロンプトで、[ctrl] + c をタイプしてください。
※ また、8000 という数値(ポート番号)は、必要があれば(PC 環境に応じて、または、④、⑤以降がうまく動かなければ)変えてみてください。
※ Linux (Raspberry Pi など)の場合、Python 3.x がインストールされている環境で、”python3 -m http.server 8000″ とすると動作しました。セキュリティ等は配慮していませんので、テストをする場合は、スタンドアロン、または、ローカルネットワークで行ってください。

ステップ3:ブラウザ経由でのサイトの確認

⑤ ④でサーバーを稼働させた状態で、Microsoft Edge などのブラウザを起動し、URL 部分に以下を貼りつけて表示させてください。
http://localhost:8000/
※ ここで、8000 という数字は、④で設定した数値と一致させてください。

→ ブラウザに、②で作った “hello world!” という文字が表示されたら成功です。

うまく動いたら

・ うまく動いたら、②の index.html を、より本格的な内容に修正してみてください。
html、css、JavaScript などを作成したら、ローカル PC 上の Webサーバーで動作確認ができることになります。
・ ①のルートフォルダ内に任意の html ファイル([ファイル名.html])を入れ、ブラウザで http://localhost:8000/[ファイル名.html]  にアクセスすると、html を表示・動作させることができます。
・ コマンドプロンプトでうまく動いたら、一連の手順をバッチファイル化してしまえば、Web サーバーを起動し、ローカルでの Webアプリの実運用が簡単にできることになります。
・ ローカルネットワークで複数のパソコン(Linux と Windows など)が使える場合は、さらに応用範囲が広がります。
例えば、まず、上記の要領で、Linux (Raspberry Pi) 上で Webサーバーを稼働させます。つぎに、別の Windows パソコンのブラウザに、(linux のローカルの IP アドレス(192.xxx.xxx.xxx) + “:8000” などと入力すると、Linux 側の Webサーバーにアクセスして、Webアプリが動きます。したがって後は、独自のWebアプリを作るところだけに注力できることになります。

まとめ

Python で Webサーバーを動かす手順についてまとめました。
これで、Windows 10 パソコンを Webサーバーにすることが可能となりました。

Web サーバーがうまく動いたら、つぎに、Python で作った Web アプリなどもまとめ、公開しています。
もしも興味があるようでしたら、以下の関連リンクも参考にしてみてください。

関連リンク
・ Webサーバーで動く Python アプリ 【Windows】
・ バッチファイルで Anaconda から Python を実行する方法 【Windows 10】
・ Raspberry Pi でローカルWebサーバー 【Python 活用】
・ Web サーバー動作確認用サンプル 【PHP】
・ Python で HTML ファイルを出力する

タイトルとURLをコピーしました