Python Flask Hosting di server IIS Windows 10
Saya Ingin Menghosting Python Rest API saya di server IIS Windows 10.
Pertama saya mencoba meng-host aplikasi sampel tetapi tidak dapat melakukannya.
my_app.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'Hello IIS from Flask framework.'
@app.route('/Hello')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
web.config
<configuration>
<system.webServer>
<handlers>
<add name="Python FastCGI"
path="*"
verb="*"
modules="FastCgiModule"
scriptProcessor="C:\Program Files\Python39\python.exe|C:\Program Files\Python39\lib\site-packages\wfastcgi.py"
resourceType="Unspecified"
requireAccess="Script" />
</handlers>
</system.webServer>
<appSettings>
<add key="WSGI_HANDLER" value="my_app.app" /> <!-- {name_of_file}.{name_of_flask_app}-->
<add key="PYTHONPATH" value="C:\inetpub\wwwroot\test" />
<add key="WSGI_LOG" value="C:\inetpub\wwwroot\test\app.log" />
</appSettings>
</configuration>
Saya telah mencoba tutorial di bawah ini tetapi tidak berhasil untuk saya.
https://medium.com/@rajesh.r6r/deploying-a-python-flask-rest-api-on-iis-d8d9ebf886e9
https://www.youtube.com/watch?v=ma1UvzqF82Q&ab_channel=ShobhitWalia
Kesalahan HTTP 500.0 - Kesalahan Server Internal: lihat scrennshot Kesalahan
Saya butuh bantuan .... Terima kasih
Jawaban
Jika Anda menginginkan aplikasi python host IIS, Anda perlu menginstal python, dan kemudian Anda perlu menambahkan pemetaan modul di IIS. Berikut langkah-langkahnya:
Pertama instal python di komputer Anda.
Aktifkan CGI:
Setelah instalasi berhasil, Anda akan melihat "Pembatasan ISAPI dan CGI" dan Pemetaan Penangan:
- Masukkan "Pembatasan ISAPI dan CGI", tambahkan Pembatasan ISAPI atau CGI baru:
- Masukkan "Pemetaan Penangan", lalu tambahkan Pemetaan Modul (% S% S perlu ditambahkan atau kesalahan akan dilaporkan):
Akhirnya kita berhasil mengakses Aplikasi python:
MEMPERBARUI:
Dapatkah Anda melihat python di Pemetaan Penangan Anda?
Ini adalah web.config saya:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
</configuration>
Tidak ada apa pun di web.config. Semua pengaturan saya untuk seluruh IIS:
Klik "Penjelajahan Direktori":
Aktifkan: