python.exe - FastCGI 进程意外退出
python.exe - The FastCGI process exited unexpectedly
我已经阅读了所有关于这个问题的帖子,在这里和 IIS 论坛上,也把它放到了 Google 的第二页......但仍然无法正常工作。
我想在 Windows 服务器 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 服务器 2016
- IIS 10
- Python 3.8
- wfastcgi 3.0.0
- 烧瓶 1.1.1
我尝试了不同版本的 Python(3.6、3.7、3.8)。在我的 Windows 10 上,它是 运行ning Python 3.7,并且工作正常。我不能使用 Python 3.4.2,正如 之一所建议的那样,因为 Flask 运行s 在 3.5 及更高版本上显然 wfastcgi
可以正常工作Python 3.7 在我的机器上。
我已授予对我的应用程序池以及 IIS_IUSRS 我的 Web 应用程序文件夹和 Python 文件夹的完全权限。
我也安装了 Microsoft C++ Build Tools。
并且IIS的配置已经通过"Shared Configuration"从我的机器共享到服务器,所以一切都是一样的。我只是在配置文件中修改了一些路径。
我也在 Flask WSGI 服务器上尝试 运行ning 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。
您可以从下面link:
下载python
https://www.python.org/downloads/
注意:如果可能请使用python 3.6以上的版本。
2) 安装 python 后安装 wfastcgi。 运行 作为管理员的命令提示符和 运行 下面的命令:
pip install wfastcgi
wfastcgi-enable
3) 下面是我的烧瓶示例:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello from FastCGI via IIS!"
if __name__ == "__main__":
app.run()
4) 在为 运行 创建应用程序后,它使用以下命令:
python app.py
5)开启iis的cgi特性:
6)打开iis。
右键单击服务器名称并select添加站点。
输入站点名称物理路径和站点绑定。
在中间窗格中添加站点 select 站点名称和 select 处理程序映射功能后。
点击“添加模块映射”
可执行路径值:
C:\Python37-32\python.exe|C:\Python37-32\Lib\site-packages\wfastcgi.py
点击“请求限制”。确保“仅当请求映射到时调用处理程序:”复选框未选中:
在这里点击“是”:
7) 现在返回 select 应用程序设置功能。
单击操作窗格中的添加。
设置 PYTHONPATH 变量(这是您的站点文件夹路径):
和 WSGI_HANDLER(我的 Flask 应用程序名为 app.py,因此值为 app.app — 如果您的名为 site.py,则值为 site.app或类似):
8) 单击“确定”并浏览到您的站点。
注意:不要忘记为站点文件夹和 python 文件夹分配 iis_iusrs 和 iusr 权限。
检查您的机器中是否是 python 的生产版本和 python 的最新安装版本,您必须安装产品版本(您开发网络应用程序的版本)并配置原样的 fastcgi 和处理程序。
我的问题是我可以通过 cmd/PowerShell 运行 Flask 应用程序,但是一旦我通过 IIS 运行 它,它就会返回上述错误,错误代码为 0x00000067。我尝试了很多不同的方法,包括设置权限等。我最终通过重新安装 Python(在我的例子中是 3.9.6)解决了这个问题。我为所有用户安装了它(通过高级选项),在文件夹 C:\Python39 中(我注意不要把它放在 C:\Program Files 中,因为有些人报告双引号有问题)。
我已经阅读了所有关于这个问题的帖子,在这里和 IIS 论坛上,也把它放到了 Google 的第二页......但仍然无法正常工作。
我想在 Windows 服务器 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 服务器 2016
- IIS 10
- Python 3.8
- wfastcgi 3.0.0
- 烧瓶 1.1.1
我尝试了不同版本的 Python(3.6、3.7、3.8)。在我的 Windows 10 上,它是 运行ning Python 3.7,并且工作正常。我不能使用 Python 3.4.2,正如 wfastcgi
可以正常工作Python 3.7 在我的机器上。
我已授予对我的应用程序池以及 IIS_IUSRS 我的 Web 应用程序文件夹和 Python 文件夹的完全权限。
我也安装了 Microsoft C++ Build Tools。
并且IIS的配置已经通过"Shared Configuration"从我的机器共享到服务器,所以一切都是一样的。我只是在配置文件中修改了一些路径。
我也在 Flask WSGI 服务器上尝试 运行ning 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。
您可以从下面link:
下载pythonhttps://www.python.org/downloads/
注意:如果可能请使用python 3.6以上的版本。
2) 安装 python 后安装 wfastcgi。 运行 作为管理员的命令提示符和 运行 下面的命令:
pip install wfastcgi
wfastcgi-enable
3) 下面是我的烧瓶示例:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello from FastCGI via IIS!"
if __name__ == "__main__":
app.run()
4) 在为 运行 创建应用程序后,它使用以下命令:
python app.py
5)开启iis的cgi特性:
6)打开iis。
右键单击服务器名称并select添加站点。
输入站点名称物理路径和站点绑定。
在中间窗格中添加站点 select 站点名称和 select 处理程序映射功能后。
点击“添加模块映射”
可执行路径值:
C:\Python37-32\python.exe|C:\Python37-32\Lib\site-packages\wfastcgi.py
点击“请求限制”。确保“仅当请求映射到时调用处理程序:”复选框未选中:
在这里点击“是”:
7) 现在返回 select 应用程序设置功能。
单击操作窗格中的添加。
设置 PYTHONPATH 变量(这是您的站点文件夹路径):
和 WSGI_HANDLER(我的 Flask 应用程序名为 app.py,因此值为 app.app — 如果您的名为 site.py,则值为 site.app或类似):
8) 单击“确定”并浏览到您的站点。
注意:不要忘记为站点文件夹和 python 文件夹分配 iis_iusrs 和 iusr 权限。
检查您的机器中是否是 python 的生产版本和 python 的最新安装版本,您必须安装产品版本(您开发网络应用程序的版本)并配置原样的 fastcgi 和处理程序。
我的问题是我可以通过 cmd/PowerShell 运行 Flask 应用程序,但是一旦我通过 IIS 运行 它,它就会返回上述错误,错误代码为 0x00000067。我尝试了很多不同的方法,包括设置权限等。我最终通过重新安装 Python(在我的例子中是 3.9.6)解决了这个问题。我为所有用户安装了它(通过高级选项),在文件夹 C:\Python39 中(我注意不要把它放在 C:\Program Files 中,因为有些人报告双引号有问题)。