Почему этот простой сервер Go не работает в службах приложений Azure? - PullRequest
0 голосов
/ 24 октября 2019

У меня есть этот код в 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.

Кто-нибудь может подсказать, что я могу сделать?

1 Ответ

2 голосов
/ 24 октября 2019

Я настоятельно рекомендую вам использовать образ докера для запуска вашего неподдерживаемого языка в службах приложений Azure:

Поддерживаемые языки ASP.NET, ASP.NET Core, Java, Ruby, Node.js, PHP илиPython

Github: https://github.com/AnassKartit/helloworld-golang

Изображение Docker https://hub.docker.com/r/anasskartit/hello-world-golang

Первый запуск займет некоторое время, так как при загрузке образа вы можете проверить журналы

enter image description here

enter image description here

Результат enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...