python.exe-FastCGI进程意外退出

python.exe-FastCGI进程意外退出,python,iis,flask,windows-server-2016,wfastcgi,Python,Iis,Flask,Windows Server 2016,Wfastcgi,我已经阅读了所有关于这个问题的帖子,在这里和IIS论坛上,也把它放到了谷歌的第二页。。。但仍然无法让它工作 我想在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 In

我已经阅读了所有关于这个问题的帖子,在这里和IIS论坛上,也把它放到了谷歌的第二页。。。但仍然无法让它工作

我想在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
我设法让它在我的机器(Windows10)上工作,但在服务器上没有

环境

  • Windows Server 2016
  • IIS 10
  • Python 3.8
  • wfastcgi 3.0.0
  • 烧瓶1.1.1
我尝试了不同版本的Python(3.6、3.7、3.8)。在我的Windows10上,它运行的是Python3.7,并且运行良好。我不能使用Python3.4.2,因为Flask在3.5和更高版本上运行,显然
wfastcgi
在我的机器上可以与Python3.7配合使用

我授予了我的应用程序池以及我的web app文件夹和Python文件夹上的IIS_IUSR的完全权限

我安装了微软C++的构建工具。

IIS的配置已经通过“共享配置”从我的机器共享到服务器,所以一切都是一样的。我刚刚修改了配置文件中的一些路径

我还尝试在FlaskWSGi服务器上运行web应用程序进行开发,效果很好

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

谢谢:)

编辑:我添加了来自事件查看器的警告消息

+ System 
- EventData 
  Path C:\inetpub\history\CFGHISTORY_0000000051 
   12000780 
--------------------------------------------------------------------------------
Binary data:
In Words
0000: 80070012    
In Bytes
0000: 12 00 07 80      
编辑:添加了web.config文件

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <handlers>
            <remove name="FastCGI-Python" />
            <add name="FastCGI-Python" path="*" verb="*" modules="FastCgiModule" scriptProcessor="C:\Program Files\Python38\python.exe|C:\Program Files\Python38\lib\site-packages\wfastcgi-3.0.0-py3.8.egg\wfastcgi.py" resourceType="Unspecified" requireAccess="Script" />
        </handlers>
        <security>
            <authentication>
                <windowsAuthentication enabled="true" />
                <anonymousAuthentication enabled="false" />
            </authentication>
        </security>
    </system.webServer>
    <appSettings>
       <add key="PYTHONPATH" value="C:\inetpub\wwwroot\flaskr" />
       <add key="WSGI_HANDLER" value="__init__.app" />
       <add key="WSGI_LOG" value="C:\inetpub\wwwroot\flaskr\wfastcgi.log" />
    </appSettings>
</configuration>

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

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

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

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

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

pip install wfastcgi

wfastcgi-enable
python app.py
3) 下面是我的示例:

from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
    return "Hello from FastCGI via IIS!"
if __name__ == "__main__":
    app.run()
4) 创建要运行的应用程序后,请使用以下命令:

pip install wfastcgi

wfastcgi-enable
python app.py
5) 启用iis的cgi功能:

6) 打开iis

右键单击服务器名称并选择添加站点

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

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

单击“添加模块映射”

可执行路径值:

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

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

单击此处的“是”:

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

从操作窗格中单击添加

设置PYTHONPATH变量(即站点文件夹路径):

和WSGI_处理程序(我的烧瓶应用程序名为app.py,因此值为app.app-如果您的名称为site.py,则为site.app或类似名称):

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


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

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

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

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

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

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

pip install wfastcgi

wfastcgi-enable
python app.py
3) 下面是我的示例:

from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
    return "Hello from FastCGI via IIS!"
if __name__ == "__main__":
    app.run()
4) 创建要运行的应用程序后,请使用以下命令:

pip install wfastcgi

wfastcgi-enable
python app.py
5) 启用iis的cgi功能:

6) 打开iis

右键单击服务器名称并选择添加站点

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

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

单击“添加模块映射”

可执行路径值:

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

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

单击此处的“是”:

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

从操作窗格中单击添加

设置PYTHONPATH变量(即站点文件夹路径):

和WSGI_处理程序(我的烧瓶应用程序名为app.py,因此值为app.app-如果您的名称为site.py,则为site.app或类似名称):

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


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

检查机器中的python生产版本和最新安装的python版本是否需要安装产品版本(开发web应用的版本)并按原样配置fastcgi和处理程序。

检查机器中的python生产版本和最新安装的python版本是否必须安装产品版本(开发web应用的版本)并按原样配置fastcgi和处理程序。

听起来好像存在访问冲突异常。事件查看器中的详细错误消息是什么?嗨@JokiesDing,在事件查看器中只有一条警告消息。我将在文章的编辑部分发布。听起来好像有访问冲突异常。事件查看器中的详细错误消息是什么?嗨@JokiesDing,在事件查看器中只有一条警告消息。我会把它贴在文章的编辑部分。嗨,谢谢你的回答。所有这些步骤我已经做了两次了,但都没有解决我的问题