在 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
,你可以使用nginx
或apache
使用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的主要内容,如果未能解决你的问题,请参考以下文章