在 IIS 和 ngrok 上部署 Django

Posted

技术标签:

【中文标题】在 IIS 和 ngrok 上部署 Django【英文标题】:Deploying Django on IIS and ngrok 【发布时间】:2021-09-27 00:26:55 【问题描述】:

我正在尝试在本地主机上部署 Django,并使用 ngrok 部署“隧道”。 ngrok 工作,但 IIS(Internet 信息管理器)给出 500 错误<handler> scriptProcessor could not be found in <fastCGI> application configuration。对 fastcgi 的引用表明此功能已被弃用,但使用本地服务器和 ngrok 为 Django 提供服务的替代品是什么。我也点安装了pyngrok。您能提出一个明确的解决方案吗?

【问题讨论】:

pyngrok 文档提供了一个有效的 Django 示例:pyngrok.readthedocs.io/en/latest/integrations.html#django 那个 pyngrok 设置对我不起作用。我收到 500 错误。 【参考方案1】:

FastCGI 在 6 多年前在 Django 中被弃用,their docs 说 WSGI 是首选替代方案,他们为types of WSGI deployments 提供了一个教程来帮助您入门。

但在这种情况下你不会使用ngrok,你可以使用nginxapache 使用wsgi 模块(也在他们的教程中显示)。您使用ngrok 的位置正在与Django's built-in dev server 一起开发,这就是full example provided in pyngrok's documentation。

通常我会在这里提供实际的示例代码,但您要问的是完整的端到端解决方案,这就是我提供链接的原因。如果没有您所构建内容的完整上下文和示例,就很难告诉您哪里出了问题——如果没有具体的问题示例,很难提供具体的解决方案。但这些教程教程正是针对您正在做的事情,因此希望它们可以帮助您调试自己的解决方案。

【讨论】:

ngnix 或 Apache 是否与 ngrok 或替代方案一起使用以部署本地开发服务器? 当然,ngrok 只是生成一个公共 URL,该 URL 转发到您提供的本地端口。该本地端口可以是 Django 的开发服务器(默认为 8000),也可以是 Apache 或 nginx(无论您为它们设置什么端口),或者其他完全类似于 mysql 的东西。如果您不想弄乱路由器上的 DNS 或端口转发,使用ngrok 转发到任何服务器都可以。我建议使用 Django 的开发服务器只是因为与 nginx 或 Apache 等生产级服务器相比,它需要零设置,但任何一个都可以。

以上是关于在 IIS 和 ngrok 上部署 Django的主要内容,如果未能解决你的问题,请参考以下文章

使用 Visual Studio 2017 和 IIS Express 的 ngrok 无法连接

微信接口本地调试(IIS服务器)

Netlify 和 ngrok 链接

Djangod的安装和创建

ngrok反向代理

Ngrok 没有正确地隧道 Nginx