在 IIS 上运行 go web 应用程序

有没有办法在 IIS 上运行 Go web 应用程序?

我找到了 azure 的设置,但它在我的开发机器上不起作用,

这是 azure 的网络配置:


<?xml version="1.0" encoding="UTF-8"?>

<configuration>

    <system.webServer>

        <handlers>

            <add name="httpplatformhandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />

        </handlers>

        <httpPlatform processPath="d:\home\site\wwwroot\go\bin\go.exe" 

                      arguments="run d:\home\site\wwwroot\server.go" 

                      startupTimeLimit="60">

            <environmentVariables>

              <environmentVariable name="GOROOT" value="d:\home\site\wwwroot\go" />

            </environmentVariables>

        </httpPlatform>

    </system.webServer>

</configuration>


慕妹3242003
浏览 184回答 2
2回答

陪伴而非守候

您的本地 IIS 无法正常工作,因为您需要安装一个单独的组件,称为 HttpPlatformHandler 模块,https://azure.microsoft.com/en-us/blog/announcing-the-release-of-the-httpplatformhandler-module-for-iis-8/http://www.iis.net/downloads/microsoft/httpplatformhandler反向代理或 FastCGI 是旧方法,这种新方法不再需要。

素胚勾勒不出你

HttpPlatformHandler 模块对我不起作用。我发现Sutean Rutjanalard 在 Medium 上的这篇文章非常有帮助,它使用 ASP.NET Core 模块代替。基本上,您需要像使用 .net 核心应用程序一样使用“无托管代码”创建应用程序池。以下是 web.config。<?xml version="1.0" encoding="utf-8"?><configuration>&nbsp; &nbsp; <system.webServer>&nbsp; &nbsp; &nbsp; &nbsp; <handlers>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />&nbsp; &nbsp; &nbsp; &nbsp; </handlers>&nbsp; &nbsp; &nbsp; &nbsp; <aspNetCore processPath=".\YourGoApp.exe" />&nbsp; &nbsp; </system.webServer></configuration>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go