PythonでIISのHTTPハンドラを設定する方法


  1. IISのインストールと設定:

    • WindowsサーバーにIISをインストールします。詳細な手順はMicrosoftの公式ドキュメントを参照してください。
    • IISマネージャーを開き、新しいWebサイトを作成します。
  2. Pythonのインストール:

    • Pythonをインストールし、環境変数にパスを追加します。Pythonの公式ウェブサイトから最新のバージョンをダウンロードし、インストーラーに従ってインストールします。
  3. PythonのHTTPハンドラを作成:

    • PythonでHTTPハンドラを作成するために、http.serverモジュールを使用します。以下のコード例を参考にしてください。
    from http.server import BaseHTTPRequestHandler, HTTPServer
    class MyHandler(BaseHTTPRequestHandler):
       def do_GET(self):
           self.send_response(200)
           self.send_header('Content-type', 'text/html')
           self.end_headers()
           self.wfile.write(b"Hello, World!")
    def run(server_class=HTTPServer, handler_class=MyHandler, port=8000):
       server_address = ('', port)
       httpd = server_class(server_address, handler_class)
       httpd.serve_forever()
    if __name__ == '__main__':
       run()

    この例では、MyHandlerクラスがdo_GETメソッドを実装しており、HTTP GETリクエストが来た際に「Hello, World!」という応答を返します。

  4. IISでPythonハンドラを設定:

    • IISマネージャーで作成したWebサイトを選択し、ハンドラーマッピングを開きます。
    • ハンドラーマッピングの追加をクリックし、以下の設定を行います:
      • リクエスト経路: *
      • ハンドラー: FastCgiModule
      • パス: Pythonインストールディレクトリのpython.exeへのパス
      • スクリプトマッピング: Pythonスクリプトの拡張子と、先ほど作成したPythonハンドラスクリプトへのパス
  5. テストとデプロイ:

    • IISマネージャーで作成したWebサイトを起動します。
    • ブラウザで http://localhost:ポート番号 にアクセスし、Pythonハンドラが正しく動作していることを確認します。

これで、Pythonを使用してIIS上でHTTPハンドラを設定する方法とコード例の解説を終えました。この方法を使えば、Pythonで独自のWebアプリケーションをIIS上で実行することができます。