【Tips】Pythonを利用して簡易Webサーバーを実行する方法

S 20180814 222334

現在世界中で人気を集めているプログラミング言語「Python」。

もともと汎用性の高いプログラミング言語として広く使われていましたが、最近は機械学習・統計分野のライブラリも充実し、最先端の分野で多く使用されるようになってきています。

実はこのPythonを利用すると、簡単な手順によってWebサーバー(HTTPサーバー)を起動することができます。またオプションを追加するだけでCGIを呼び出して実行することも可能となっています。

以下その方法を説明します。

Pythonを利用してWebサーバーを起動する方法

Python 3.0以降では以下のコマンドによってWebサーバーを実行することができます。

$ python -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...

画面の指示通りブラウザで「http://0.0.0.0:8000/」にアクセスすると、上記コマンドを実行したカレントディレクトリ内のindex.htmlが表示されます。すなわちコマンドを実行したディレクトリがドキュメントルートになるということで、「http://0.0.0.0:8000/test.html」の場合は、カレントディレクトリ内のtest.htmlが表示されます。

CGIを実行したい場合はオプションで「-cgi」を追加します。

 python -m http.server --cgi
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...

cgiスクリプトはカレントディレクトリ以下の「/cgi-bin」ディレクトリに作成してください。例えば以下のような「./cgi-bin/hello.py」を作成します。

#!/usr/bin/env python

print('Content-type: text/html; charset=UTF-8\r\n')
print('Hello, World!')

ブラウザで「http://0.0.0.0:8000/cgi-bin/hello.py」にアクセスします。

S 20180814 222457

▲hello.pyが実行されて結果が画面に表示されました。

まとめ

Pythonを利用すれば簡易的なWebサーバーをワンライナーで立ち上げることができます。Webページの見た目の確認を行いたい場合や、HTTPのテストを行いたい場合に利用すると便利な機能です。

スポンサーリンク