+ 收藏我们

网站模板

网站模板搜索
404模板 营销型模板 外贸网站模板 单页模板 双语模板 标签大全
电话:18630701785
首页 > 站长学院 > 在heroku上部署Go服务器并渲染后找不到404页面 >

在heroku上部署Go服务器并渲染后找不到404页面

时间:2024-04-05 16:24:17

哈喽!今天心血来潮给大家带来了《在heroku上部署Go服务器并渲染后找不到404页面》,想必大家应该对golang都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习Golang,千万别错过这篇文章~希望能帮助到你!

问题内容
将我的应用程序部署到 heroku 后,我得到的只是 404 - 找不到页面错误。在我的本地机器上它运行得很好。

package main

import (
    "encoding/JSON"
    "fmt"
    "log"
    "net/Http"
    "os"
)

type hellohngresponse struct{
    slackusername string `json:"slackusername"`
    backend bool `json:"backend"`
    age int `json:"age"`
    bio string `json:"bio"`
}

func hellohng(w http.responsewriter, r *http.request){
    response := hellohngresponse{slackusername: "kodeforce98", backend: true, age: 24, bio: "proud firstborn, golang developer, committed christian, faithful boyfriend"}
    
    encoder := json.newencoder(w)
    encoder.encode(response)
}
我感觉罪魁祸首就在这里,但我仍然迷失方向。

func main(){

    port := os.Getenv("PORT")
    if port == ""{
        port = "9090"
    }
         
     
    http.HandleFunc("/hellohng", helloHng)
    log.Printf("Server starting on port %v\n", port)
    log.Fatal(http.ListenAndServe(fmt.Sprintf(":%v", port), nil))
}
我试图理解为什么我没有像在本地运行它时那样获得 json 输出。感谢您的每一次帮助


正确答案

一些猜测:

您可能根本没有部署 - 您是否遵循此处的部署指南:https://devcenter.heroku.com/articles/getting-started-with-go?singlepage=true?如果是这样,您在服务器日志中看到 404 了吗?
您发送的请求没有端口 - 您是否将请求发送到正确的端口? https://polar-inlet-4930.herokuapp.com:9000/hellohng。您还可以在代码中将端口从 9000 更改为 80,这可能会有所帮助,因为 80 是 WEB 请求的默认端口。

有问题可以加入网站技术QQ群一起交流学习

本站会员学习、解决问题QQ群(691961965)

客服微信号:lpf010888

Title