У меня есть этот код в server.go
:
package main
import (
"fmt"
"net/http"
"os"
)
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "You just browsed page (if blank you're at the root): %s", r.URL.Path[1:])
}
func main() {
http.HandleFunc("/", handler)
http.ListenAndServe(":"+os.Getenv("HTTP_PLATFORM_PORT"), nil)
}
и этот web.config
:
<?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>
Оба эти файла находятся в каталоге d:\home\site\wwwroot
Azure. Служба приложений. У меня также установлена 1.13.3
версия x64 Windows Go Runtime (распакована из go1.13.3.windows-amd64.zip
) в d:\home\site\wwwroot\go
.
Когда я выбираю fwWebApi.azurewebsites.net/hello
, время ожидания истекает.
Я получил этот образец от http://www.wadewegner.com/2014/12/4-simple-steps-to-run-go-language-in-azure-websites/, которому, по общему признанию, несколько лет. Но я хочу иметь возможность запускать веб-приложение Go в службах приложений Azure.
Кто-нибудь может подсказать, что я могу сделать?