🌐
Pythonの標準ライブラリを使ってWebサーバーを起動する
PythonでWebサーバーを構築する
どうやって?
-
Pythonに付属している標準ライブラリにシンプルなWebサーバーとして機能するモジュールがあるので、これを使って構築する
-
ゴールはHTMLファイルをレスポンスとして返す
以下は手順(Pythonの環境構築は済んでいるものとする)
- index.htmlファイルを用意する
- PythonコマンドでWebサーバーの起動
- index.htmlファイルを編集し、反映されるかを確認する
前提知識
モジュール > パッケージ > ライブラリ
-
モジュール
-
.py
などのファイル全てがモジュール
-
-
パッケージ
- 1つ以上のモジュールが集まったもの
-
ライブラリ
- パッケージをまとめてインストールしやすくしたもの
index.htmlファイルの用意
開いた時に最低限見れれば良いものとする
index.html!
<!DOCTYPE html>
<html>
<head>
<title>サーバーテスト</title>
<meta charset="UTF-8">
</head>
<body>
<h1>サーバーの起動中</h1>
<p>Hello, Python!</p>
</body>
</html>
用意したらそのディレクトリに移動する。
PythonコマンドでWebサーバーを起動させる
以下のコマンドをターミナル上で叩く。
terminal
$ python -m http.server 8000
- オプションで指定した意味 (-m)
以下 python -h でヘルプを参照した結果から
-m mod : run library module as a script (terminates option list)
参考: コマンドラインで使えるPython標準モジュール
ちょっと難しいですが、モジュールを呼び出すという意味で大丈夫だと思います。
今回はhttp.serverというモジュールを使用します。
ターミナル上にServing HTTP on :: port 8000 (http://[::]:8000/) ...
と出て、
Webブラウザ(自分はGoogle Chromeで試しました)でhttp://127.0.0.1:8000/
を打ち、作成したHTMLファイルが閲覧出来れば無事にWebサーバーが起動しています。
HTMLファイルを編集し、変更が反映されるかを確認する
HTMLファイルの変更は好きに変更してください。
自分は以下を<p>Hello, Python!</p>
の下に追記します。
index.html
<p>ライブラリを使って初めてのWebサーバーを構築しました</p>
<p>変更が反映されるか確認します</p>
再読み込みして反映されていればOKです。
Discussion