python.exe-FastCGI进程意外退出

问题描述 投票:0回答:1

我已经在这里和IIS论坛上阅读了有关此问题的所有文章,也将其发布到了Google的第二页上……仍然无法正常工作。

我想在Windows Server 2016上的IIS中运行Flask / Python应用,但我一直收到此错误:

HTTP Error 500.0 - Internal Server Error
C:\Program Files\Python38\python.exe - The FastCGI process exited unexpectedly

Detailed Error Information:
Module     FastCgiModule
Notification       ExecuteRequestHandler
Handler    FastCGI-Python
Error Code     0x00000002

我设法使其在我的计算机(Windows 10)上运行,但在服务器端不起作用。

环境

  • Windows Server 2016
  • IIS 10
  • Python 3.8
  • wfastcgi 3.0.0
  • 烧瓶1.1.1

我尝试了不同版本的Python(3.6、3.7、3.8)。在我的Windows 10上,它正在运行Python 3.7,并且运行良好。我无法使用[3.4]之一中建议的Python 3.4.2,因为Flask在3.5和更高版本上运行,显然posts在我的机器上可以与Python 3.7正常工作。

我为我的应用程序池以及Web应用程序文件夹和Python文件夹上的IIS_IUSRS授予了完全权限。

我也已经安装了Microsoft C ++ Build Tools。

并且IIS的配置已通过“共享配置”从我的机器共享到服务器,因此所有内容都是相同的。我只是在配置文件中修改了一些路径。

我也尝试在Flask WSGI服务器上运行Web应用程序以进行开发,但效果很好。

有人知道我还能做什么吗?任何建议都很好。

谢谢:)

python iis flask windows-server-2016 wfastcgi
1个回答
0
投票

您可以按照以下步骤在iis中配置python flask应用程序:

1)首先,您需要在服务器上安装python,wfastcgi和flask。

您可以从下面的链接下载python:

wfastcgi

注意:如果可能,请使用3.6以上的python版本。

2)在安装python之后,安装wfastcgi。以管理员身份运行命令提示符,然后运行以下命令:

https://www.python.org/downloads/

3)下面是我的烧瓶示例:

pip install wfastcgi

wfastcgi-enable

4)创建应用程序以运行它之后,使用以下命令:

from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
    return "Hello from FastCGI via IIS!"
if __name__ == "__main__":
    app.run()

5)启用iis的cgi功能:

python app.py

6)打开iis。

右键单击服务器名称,然后选择添加站点。

enter image description here

输入站点名称的物理路径和站点绑定。

添加站点后,选择站点名称,然后从中间窗格中选择处理程序映射功能。

enter image description here

单击“添加模块映射”

enter image description here

可执行路径值:

C:\ Python37-32 \ python.exe | C:\ Python37-32 \ Lib \ site-packages \ wfastcgi.py

enter image description here

单击“请求限制”。确保未选中“仅在请求映射到时才调用处理程序:”复选框:

enter image description here

单击此处的“是”:

enter image description here

7)现在返回并选择应用程序设置功能。

enter image description here

单击操作窗格中的添加。

enter image description here

设置PYTHONPATH变量(这是您的站点文件夹路径):

enter image description here

并且WSGI_HANDLER(我的Flask应用程序名为app.py,因此值为app.app -如果您的名称为site.py,则为site.app或类似名称:]

enter image description here

8)单击“确定”并浏览到您的站点。

enter image description here

注意:不要忘记为站点文件夹和python文件夹分配iis_iusrs和iusr权限。

© www.soinside.com 2019 - 2024. All rights reserved.