为了账号安全,请及时绑定邮箱和手机立即绑定

在 IIS 上运行 go web 应用程序

在 IIS 上运行 go web 应用程序

Go
慕妹3242003 2021-11-22 19:25:03
有没有办法在 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>
查看完整描述

2 回答

?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

您的本地 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 是旧方法,这种新方法不再需要。


查看完整回答
反对 回复 2021-11-22
?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

HttpPlatformHandler 模块对我不起作用。我发现Sutean Rutjanalard 在 Medium 上的这篇文章非常有帮助,它使用 ASP.NET Core 模块代替。


基本上,您需要像使用 .net 核心应用程序一样使用“无托管代码”创建应用程序池。以下是 web.config。


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

<configuration>

    <system.webServer>

        <handlers>

            <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />

        </handlers>

        <aspNetCore processPath=".\YourGoApp.exe" />

    </system.webServer>

</configuration>


查看完整回答
反对 回复 2021-11-22
  • 2 回答
  • 0 关注
  • 183 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信