開発用にローカルサーバを構築する手軽な方法(Python編)

開発用にローカルサーバをPythonで構築する手軽な方法です。

Python 2.7.16
Python 3.8.2

はじめに

アプリ開発をしていると、リモートサーバを立てるほどじゃないけどネットワークを介した開発を行いたい時があります。
本記事ではそのような時にPythonでお手軽にローカルサーバを構築する方法を紹介します。

下準備として、HTTPサーバのドキュメントルートとしたいフォルダを作っておきます。
またファイルが何もないのもアレなので、index.htmlを適当に書いておいておきます。

<!DOCTYPE html>

<html lang="ja">
<head>
<meta charset="utf-8">
<title>
Local Host Example
</title>
</head>

<body>
<p>
Hello World.
</p>
</body>
</html>

またPythonをインストールしていない場合には下記を参考にインストールしておきます。

light11.hatenadiary.com

HTTPサーバを立てる

それではローカルサーバを立てていきます。
まずドキュメントルートとしたいフォルダをカレントディレクトリにしておきます。

次にPython3の場合はコマンドラインからhttp.serverを使います。

$ py -m http.server 8000 ※Windowsの場合
$ python3 -m http.server 8000 ※Macの場合

8000は任意のポート番号です。省略すると8000が割り振られます。

またPython2の場合はコマンドラインからSimpleHTTPServerを使います。

$ py -m SimpleHTTPServer 8000 ※Windowsの場合
$ python -m SimpleHTTPServer 8000 ※Macの場合

これだけでローカルサーバの構築ができました。
ブラウザからhttp://localhost:8000/にアクセスするとindex.htmlが表示されることが確認できます。

f:id:halya_11:20200422111338p:plain:w600
localhost:8000にアクセス

またサーバの終了はCtrl + Cを行います。

同じネットワーク上の端末からアクセスする

さてプライベートIPアドレスを使えば、同じネットワーク上の端末からサーバにアクセスすることができます。
そこで機器のプライベートIPアドレスを調べていきます。

手元の有線につないだWindows10では、コントロールパネル > ネットワークとインターネット > ネットワークと共有センター > イーサネット > 詳細から確認できました。

またmacではシステム環境設定 > ネットワーク > 状態 > TCP/IPから確認できました。

f:id:halya_11:20200422112207p:plain:w600
macでプライベートIPアドレスを確認

あとはサーバを立てた状態で、同じネットワークにつないだ端末から192.168.0.14:8000のようにアクセスするだけです。
以下のように正常にindex.htmlが表示されることを確認できました。

f:id:halya_11:20200422112506p:plain:w300
index.htmlが表示

関連

light11.hatenadiary.com