有没有办法在IIS上运行Go web应用程序?
我找到了天蓝色的设置,但它不能用于我的开发机器上
这是azure的web配置:
<?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>
答案 0 :(得分:7)
您的本地IIS无法正常工作,因为您需要安装一个名为HttpPlatformHandler模块的单独组件,
http://www.iis.net/downloads/microsoft/httpplatformhandler
反向代理或FastCGI是这种新方法不再需要的旧方法。
答案 1 :(得分:2)
HttpPlatformHandler模块对我不起作用。我发现this post by Sutean Rutjanalard on 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>