Pythonでローカル内で簡易Webサーバーを使う方法

技術

はじめに

今回はPyhtonWeb開発をしている際に、ローカル環境内で簡易的なWebサーバーを立てる方法をご紹介します。

Webフレームワークを使用している場合は、そのフレームワーク内に同じようなことができるとは思いますが、本記事ではWebフレームワークは使用していない時のシチュエーションです。

動作環境

・Kubuntu 22.04

・Python 3.10.12

入力コマンド

Pythonの標準ライブラリで簡易Webサーバーを立てることができますので、別途ライブラリをインストールする必要はありません。

まず、テストを行うためのディレクトリを作ることをお勧めします。

作成したディレクトリに移動します。(または任意のディレクトリでも大丈夫です。)

その後下記コマンドを入力してくだい。

python3 -m http.server 8000

または環境によっては下記コマンドかもしれません。

python -m http.server 8000

コマンドを実行すると、

「 Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) … 」

という出力がされると思います。

上記文字列が表示されていれば簡易Webサーバーの起動は成功です。サーバーが稼働しています。

簡易Webサーバーを稼働させた後の使い方

基本的な使い方

簡易Webサーバーを稼働させたら、適当なwebブラウザを開いて、URLに下記を入力しましょう。

「 localhost:8000 」

そうすると、コマンドを入力した際の現在のディレクトリに「index.html」ファイルがあればそのhtmlファイルを表示します。

index.htmlファイルがなければ下記のようなディレクトリ情報が表示されます。

下記の画像は、pythonファイルが入ったテスト用のディレクトリで簡易Webサーバーコマンドを入力し、localhost:8000をWebブラウザに入力した時の画像です。

index.htmlファイルがないと上記のようになりますので、後はindex.htmlファイルを作ってディレクトリに保存しましょう。

その後は「htmlファイルを編集→ブラウザを更新する」というサイクルでOKです。

Webサーバーを停止させる方法

Webサーバーを停止させる方法はWebサーバー起動コマンドを入力したコンソールで「Ctrl + c」を入力します。

入力するとWebサーバーが停止して、「 localhost:8000 」のurlを入力してもhtmlファイルが表示されなくなります。確認してみてください。

CGIを使用したWebサーバーを立てたい時

CGIを使用したい場合はWebサーバーの起動コマンドにオプションで「cgi」オプションを付けます。

python3 -m http.server 8000 --cgi

上記でCGIも使用できるWebサーバーを起動できます。

CGIを使用する場合はCGIのファイルを「cgi-bin」フォルダに入れると、WebサーバーがCGIを認識してくれるようになります。ですので「cgi-bin」フォルダがなければ作成しましょう。

フォルダ構成は下記になります。

おわりに

今回はPython開発時にロー  カル内で簡易Webサーバーを使う方法についてご紹介しました。

簡易的とはいえプログラムを確認する上では必要十分な機能だと思います。

Pythonは便利ですね。