问题:
Go Web 应用可以在 IIS 上部署和运行吗?
答案:
是的,可以在 IIS 上托管 Go Web 应用程序。但是,与在 Azure 中使用默认方法相比,需要进行额外的设置。
解决方案:
要为 Go 应用程序启用 IIS 支持,请按照以下步骤操作:
<code class="xml"><?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <handlers> <add name="httpplatformhandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" /> </handlers> <httpPlatform processPath="path/to/go.exe" arguments="run path/to/server.go" startupTimeLimit="60"> <environmentVariables> <environmentVariable name="GOROOT" value="path/to/go" /> </environmentVariables> </httpPlatform> </system.webServer> </configuration></code>
注意: 安装 HttpPlatformHandler 模块无需反向代理或 FastCGI,以前用于此目的。
避免使用 ASP.NET Core 模块:
虽然可以使用 ASP.NET Core模块在 IIS 上托管 Go 应用程序,不推荐。正如 HttpPlatformHandler 的历史所述,这种方法存在性能缺陷和安全问题。
以上是如何在 IIS 上运行 Go Web 应用程序?的详细内容。更多信息请关注PHP中文网其他相关文章!