開発用にローカルサーバをPythonで構築する手軽な方法です。
はじめに
アプリ開発をしていると、リモートサーバを立てるほどじゃないけどネットワークを介した開発を行いたい時があります。
本記事ではそのような時に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をインストールしていない場合には下記を参考にインストールしておきます。
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が表示されることが確認できます。
またサーバの終了はCtrl + Cを行います。
同じネットワーク上の端末からアクセスする
さてプライベートIPアドレスを使えば、同じネットワーク上の端末からサーバにアクセスすることができます。
そこで機器のプライベートIPアドレスを調べていきます。
手元の有線につないだWindows10では、コントロールパネル > ネットワークとインターネット > ネットワークと共有センター > イーサネット > 詳細
から確認できました。
またmacではシステム環境設定 > ネットワーク > 詳細 > TCP/IP
から確認できました。
あとはサーバを立てた状態で、同じネットワークにつないだ端末から192.168.0.14:8000
のようにアクセスするだけです。
以下のように正常にindex.htmlが表示されることを確認できました。
なおサーバにしたPCのファイアーウォールが有効になっていると接続できない場合がありますのでご注意ください。
その場合には一時的にファイアーウォールを無効にすることで接続確認ができます。