问题标签 [wfastcgi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
427 浏览

python - IIS - Flask python 脚本 webconfig 错误 wfastcgi

我正在通过 IIS 启用带有 wfastcgi 的烧瓶 python 脚本。

我已经安装并启用了 wfastCGI。但是,在我创建网站并添加带有以下详细信息的 webconfig 文件后 -

但是我在尝试验证处理程序映射文件名时看到以下错误

我需要帮助来解决这个问题,请做必要的我

0 投票
0 回答
414 浏览

python - Windows HTTP 错误 500 上的 python 烧瓶网站 - 内部服务器错误

我已经通过 IIS 设置了一个 Python 烧瓶。我已经设置了 IIS 和 wfastcgi。我已经在下面验证了-

  1. 安装 IIS 和 CGI
  2. 安装 wfastcgi
  3. 已创建 webconfig 文件
  4. 配置 IIS 目录和权限

当我尝试访问 URL 时,我在下面看到 -

HTTP 错误 500.0 - 内部服务器错误发生未知的 FastCGI 错误

最可能的原因: IIS 收到了请求;但是,在处理请求期间发生了内部错误。此错误的根本原因取决于处理请求的模块以及发生此错误时工作进程中发生的情况。IIS 无法访问网站或应用程序的 web.config 文件。如果 NTFS 权限设置不正确,可能会发生这种情况。IIS 无法处理网站或应用程序的配置。经过身份验证的用户没有使用此 DLL 的权限。请求映射到托管处理程序,但未安装 .NET 可扩展性功能。

您可以尝试的方法:确保 web.config 文件的 NTFS 权限正确并允许访问 Web 服务器的计算机帐户。检查事件日志以查看是否记录了任何其他信息。验证 DLL 的权限。如果请求映射到托管处理程序,请安装 .NET 可扩展性功能。创建跟踪规则以跟踪此 HTTP 状态代码的失败请求。有关为失败的请求创建跟踪规则的更多信息,请单击此处。

我缺少什么请帮忙

0 投票
2 回答
2103 浏览

python - 发生未知的 FastCGI 错误 python web API

我正在使用 python 3.8 版和 IIS 7.0。当我尝试在 IIS 服务器上托管我的 python web api 时,它遇到了 FastCGI 错误。我在 IIS 中启用了 CGI,并在我的 web 配置中添加了 System.WebServer>>handlers>>Python FastCGI,但它仍然给出了同样的错误。我还检查了 wfastcgi 和烧瓶也成功添加。

0 投票
1 回答
1564 浏览

flask - IIS 上的 Python 烧瓶应用程序无法在 Windows Server 2019 上运行

问题

我有一个用 python 编写的简单烧瓶应用程序,我想在 Windows Server 2019 机器上使用 IIS 来托管它。

该应用程序已经使用 Flask 附带的开发服务器在本地运行。此外,完全相同的代码在我的 windows-server 2016 机器以及我的 Windows7 工作站上都​​能完美运行。

令人沮丧的是,当我尝试在我的 Windows server 2019 机器上的 IIS 下运行它时,它会出现错误 500 -“FastCGI 意外退出”。我尝试了各种各样的事情,但一无所获。我希望有人能帮忙!

设计

该应用程序是此 Microsoft 网页中描述的 wfastcgi 方法的实现: https ://docs.microsoft.com/en-us/visualstudio/python/configure-web-apps-for-iis-windows?view=vs-2019

python脚本是

app_hello.py

web.config 文件是

网络配置

我的软件版本是

  • 窗口服务器 2019

  • IIS 10

  • 蟒蛇 3.7.6rc1

  • wfastcgi 3.0.0

  • 烧瓶 1.1.2

错误 500 页

[error_500_screen][1]

跟踪失败请求

我启用了 tracefailedRequests这就是报告的内容

  1. NOTIFY_MODULE_START ModuleName="FastCgiModule", Notification="EXECUTE_REQUEST_HANDLER", fIsPostNotification="false" 09:08:17.333

  2. FASTCGI_ASSIGN_PROCESS CommandLine="c:\devel\a_anomaly_detection.venv\scripts\python.exe c:\devel\a_anomaly_detection.venv\lib\site-packages\wfastcgi.py", IsNewProcess="true", ProcessId="3708", RequestNumber="1" 09:08:17.333

  3. FASTCGI_START 09:08:17.333

  4. FASTCGI_WAITING_FOR_RESPONSE 09:08:17.333

  5. FASTCGI_UNEXPECTED_EXIT 错误 09:08:17.349

  6. SET_RESPONSE_ERROR_DESCRIPTION 警告 ErrorDescription="c:\devel\a_anomaly_detection.venv\scripts\python.exe - FastCGI 进程意外退出" 09:08:17.349

  7. MODULE_SET_RESPONSE_ERROR_STATUS 警告 ModuleName="FastCgiModule", Notification="EXECUTE_REQUEST_HANDLER", HttpStatus="500", HttpReason="Internal Server Error", HttpSubStatus="0", ErrorCode="无法再次设置信号量。(0x67)", ConfigExceptionInfo ="" 09:08:17.349

  8. NOTIFY_MODULE_END ModuleName="FastCgiModule", Notification="EXECUTE_REQUEST_HANDLER", fIsPostNotificationEvent="false", NotificationStatus="NOTIFICATION_FINISH_REQUEST" 09:08:17.349

0 投票
1 回答
421 浏览

python - 无法部署应用程序

我的 Django 应用程序部署遇到问题。我遵循了几个教程(最后一个:https ://www.youtube.com/watch?v=APCQ15YqqQ0 )来帮助我部署我的应用程序,我不明白为什么我的处理程序不起作用。这是我的 web.config 文件:

因为我在文件夹中有我的 virtualenv,所以app_folder文件app夹包含 Django 项目。

我有这条消息要输出:

我翻译了类别名称,因为它们是法语

即使这可能不是一个好的做法,我也打算先在 Windows 计算机上部署它,然后再在服务器(Windows 或 Linux)上进行完整部署。现在,我真的需要在 Windows 环境中完成我的测试。感谢您的帮助和理解。

0 投票
1 回答
110 浏览

python - 使用 wfastcgi 将 >~120kb 的文件上传到在 Windows IIS 服务器上运行的 Flask Web 应用程序时出现 500 内部服务器错误

我目前在 Windows IIS 上运行的 Flask Web 应用程序遇到问题,通过该应用程序上传大小大于 120kb的文件会导致'500 Internal Server Error'。任何小于此的文件似乎都可以正常工作。有人对可能导致这种情况的原因有任何建议吗?

我已经检查了IIS 配置编辑器中的“maxRequestEntityAllowed”“uploadReadAheadSize”设置,并且这些设置已正确设置(即不会过度限制文件大小)。

我在这里阅读了“FcgidMaxRequestLen 指令” ,并想知道这是否是问题所在。这听起来很正确,因为我正在使用 FastCGI (wfastcgi) 并且大约 130kb 的限制听起来在那里或附近。不过,我不知道如何更改此设置。

所以,我的问题如下:

  1. 我可能在正确的轨道上 RE:FastCGI 是问题吗?
  2. 任何人都可以提出解决此问题的解决方案吗?也许是一种在 IIS 上配置“FcgidMaxRequestLen”以允许上传更大文件的方法?

在此先感谢您的帮助。能解决这个问题就好了!

0 投票
1 回答
89 浏览

flask - iis烧瓶蓝图404页面未找到

我的结构项目

api
..app.py
....webapp
...... init .py
......user
........ init .py
........routes.py
。 .....报告
........初始化.py
........routes.py

应用程序.py

网络应用\初始化.py

webapp\user\routes.py

文件 web.config iis

当我调用 localhost/ticbu/api/user/userdata-id/11025 --- 404 Page Not Found 是什么问题?我不明白...在本地开发中工作正常

0 投票
1 回答
1094 浏览

flask - 如何显示在 IIS 上运行的 Flask 的错误日志?

我已经阅读了我能找到的所有内容,但我遇到了障碍。我已经设置了在本地主机上运行时的错误日志记录,但是当我在生产服务器 (IIS) 上运行它时,没有创建日志文件,也没有发送电子邮件报告。

我使用的基本设置是一个简单的 'app.py' 和 IIS 中的 'wfastcgi' 模块。

根据我的(有限)理解,在阅读后,似乎 WSGI 是开发(本地主机)和生产服务器(我认为?)之间的关键区别。

这是我一直在尝试的代码(适用于 localhost,但不适用于 IIS):

[请注意,这是一个原型版本,因此是简单的 'app.py'、'app.run()' 等......最终版本实现了 Flask 'Application Factory' 设置。出于安全原因删除了各种值]

也许我应该对 web.config 文件做些什么?

任何帮助将不胜感激。谢谢。

0 投票
1 回答
496 浏览

python - 如何在同一个池 IIS 上提供多个应用程序?

我有一个运行 IIS 的 Windows Server 2019。我使用 WFASTCGI 根据特定的 IP 和端口(例如 151.80.60.225:5000)为我的 Flask 应用程序提供服务,并且我的 web.config 文件运行良好。但是,我想使用这样的 /routes 在同一个 IP:port (151.80.60.225:5000) 上为多个应用程序提供服务:

我在 IIS 中创建了一个带有应用程序网站的池,它自己托管 app1 网站、app2 网站,... IIS 架构师

我为每个文件都有一个 web.config,结构如下:

所以我有一个用于 MES 应用程序(如主页)的 WFASTCGI web.config 文件和每个应用程序的 WFASTCGI web.config 文件。但是当我转到 151.80.60.225:5000/app1 时,我有一个“未找到错误页面”。

我的问题是:像我想要的那样构建门户网站的好方法是什么?

谢谢你的帮助。

错误页面(未找到 404): 错误页面本地主机

带有完整 IP 的错误页面

1月22日编辑:

我按照您的提示进行操作,但我仍然找不到 404 页面。

我的设置如下,有什么问题吗? 未找到 - 设置

此外,我授权 DefaultAppPool 完全访问该目录,并且测试设置很好。

1 月 23 日编辑: 请在 FailedReqLogFile 下方找到子状态代码 0 和错误代码 404:

0 投票
2 回答
528 浏览

flask - 我的 Flask 应用程序主页的第一个字节需要很长时间

我有一个通过wfastcgi配置部署到 IIS 的 Flask 站点。

当我使用 chrome 或 firefox 开发者工具分析主页的加载时间时,我发现很多秒(平均从 6 到 10 秒)作为接收第一个字节的等待时间。

甚至是 30 秒之前,但后来我“优化”了我的 python 代码,以避免在加载时进行任何 db sql 操作。然后我按照这个nspointers 博客的提示,现在从服务器的任务栏中,我看到了w3wp.exe我的应用程序池标识

w3wp.exe – 它是应用程序池的 IIS 工作进程

即使在空闲时间也能保持正常运行。但这对其他人来说是不正确的

python.exe – Django 或烧瓶应用程序的主要 FastCGI 进程。

而且我不确定这是否是一个问题,以防万一我应该做什么,除了提到的帖子中描述的第 4 步。

现在在“进程模型”下的“编辑 FastCGI 应用程序”对话框中,编辑“空闲超时”并将其设置为 2592000,这是该字段的最大值(以秒为单位)

我还查看了 Flask 应用程序编写的日志,并将其与 IIS 编写的日志进行了比较,这是让我相信问题出在执行 python 代码之前wfastcgi的部分的最重要的一点。

因为我看到time-takenIIS 日志的时间与 chrome 或 firefox 报告的客户端时间匹配,TTFB并且 python 在执行开始时写入的日志几乎与 IIS 写入的时间同时记录,即

对应于请求完成的时间

(正如我所想的那样,我发现这个答案已经证实了这一点)

所以总而言之,根据我的尝试和我的理解,我怀疑 IIS在实际开始执行我的应用程序代码以产生对 Web 请求的响应之前“浪费”了很多秒来“准备”python命令。wfascgi在我看来真的太多了,因为我在 IIS 下开发的其他应用程序(例如在 F# WebSharper 中)没有这种wfastcgi立即在浏览器中加载的机制,而且它们与 python Flask 应用程序之间的响应时间差异很大显。我还能做些什么来改善响应时间吗?