Lưu trữ Python Flask trên máy chủ Windows 10 IIS

Nov 19 2020

Tôi muốn lưu trữ API phần còn lại Python của mình trên máy chủ Windows 10 IIS.

Đầu tiên, tôi đã cố gắng lưu trữ một ứng dụng mẫu nhưng không thể làm điều đó.

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>  

Tôi đã thử các hướng dẫn dưới đây nhưng nó không hiệu quả với tôi.

  1. https://medium.com/@rajesh.r6r/deploying-a-python-flask-rest-api-on-iis-d8d9ebf886e9

  2. https://www.youtube.com/watch?v=ma1UvzqF82Q&ab_channel=ShobhitWalia

Lỗi HTTP 500.0 - Lỗi máy chủ nội bộ: xem ảnh chụp lỗi

Tôi cần giúp đỡ .... Cảm ơn

Trả lời

DingPeng Nov 19 2020 at 15:12

Nếu bạn muốn ứng dụng python máy chủ IIS, bạn cần cài đặt python và sau đó bạn cần thêm ánh xạ mô-đun trong IIS. Đây là các bước:

  1. Đầu tiên hãy cài đặt python trên máy tính của bạn.

  2. Bật CGI:

Sau khi cài đặt thành công, bạn sẽ thấy "ISAPI và CGI Restrictions" và Handler Mappings:

  1. Nhập "Giới hạn ISAPI và CGI", thêm ISAPI hoặc Giới hạn CGI mới:

  1. Nhập "Ánh xạ xử lý", sau đó thêm Ánh xạ mô-đun (cần thêm% S% S nếu không sẽ báo lỗi):

Cuối cùng, chúng tôi có thể truy cập thành công Ứng dụng python:

CẬP NHẬT:

Bạn có thể thấy python trong Bản đồ xử lý của mình không?

Đây là web.config của tôi:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
</configuration>

Không có gì trong web.config. Tất cả các cài đặt của tôi dành cho toàn bộ IIS:

Nhấp vào "Duyệt thư mục":

Kích hoạt nó: