【WindowsServer】IISでPythonを実行できるようにする方法

python

今回はpython + IIS で公開WEBで実行させる方法です。
だいたいこのワードで検索するとでてくるDjangoやFlaskは使いません。
とりあえずシンプルにIISでpythonを実行してhtml表示とかしてみたい方向けの記事となります。

IISでPythonを実行できるように環境を準備する

1.WindowsServerにPythonをダウンロードしてインストール

python公式サイトでダウンロード。


インストールする。

2.IISにCGI(FastCGI)をインストールする(未導入の場合のみ)

IIS自体も、まだ未導入の場合はこちらを参照
https://pentan.net/vps-windowsserver-iis/



サーバーマネージャーから「役割と機能の追加」を選ぶ



サーバーの役割のIISの階層にある「CGI」を選択して、次へ次へと進む。
Webサーバ(IIS)>Webサーバー>アプリケーション開発>CGI



「インストール」を選ぶと、インストールが開始されます。

そのまま次へと進んで行ってFastCGIは完了です。

3.IISのハンドラーマッピングにpythonを登録

IISマネージャーを起動、コンピュータ名を選んだ状態で「ハンドラーマッピング」



右クリックして「スクリプトマップの追加」


要求パス *.py
入力する。(*入力するの忘れず!)
実行可能ファイル "C:\Program Files\Python39\python.exe" %s %s
インストされいる場所のpython.exeを選びます。また選択時は、デフォルトのファイル形式がdllになりますが、exeに変更する必要あり。
あと後ろに %s %s は手入力などで追記する
名前 Python39
任意の名称を入力します。


↑こういう風に追加されていればOK

IISでWEB公開しているフォルダに.pyファイルを置く

作成済みの拡張子.pyファイルをフォルダに配置します。
また実行するための最低限の記述ルールは下記を参考。

IISでのPythonの書き方サンプル

print ('Content-type: text/html')
print ('')

print ('<html><head><title>Pythonてすと</title></head>')
print ('<body>')
a = 'てすとだあ'
b = '!!!!!'
print(a,b)
print ('</body></html>')
青字はhtmlでのお約束。ちゃんと書かないとブラウザ表示時に502エラーが出ます。
また2行目のprint("")は空っぽでいらなさそうに見えますが
これもないと502エラーとかでちゃいます。
黒字のような感じでpythonプログラムを書きます。
ブラウザ結果は以下

とりあえず変数にいれたものが表示されましたね。

今回は以上です。

 

コメント