我正在try 将Go应用程序部署到Elastic beanstalk(通过UI)
我所做的:
- 创建了一个应用程序.在端口5000上侦听的go文件
- 使用以下命令为Linux编译(设置GOOS=Linux和GOARCH=amd64):https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/go-environment.html
- 压缩bin文件夹并将其上传到Elastic Beanstalk(我也try 过在没有bin文件夹的情况下上传文件)
对于开发,我使用go版本go1.18.1 windows/amd64
在Elastic Beanstalk平台下,我看到:Go 1在64位Amazon Linux 2/3.5.1上运行
我的代码:
package main
import (
"fmt"
"net/http"
"time"
)
func main() {
http.HandleFunc("/", index)
fmt.Println("Now serving!!!")
http.ListenAndServe(":5000", nil)
}
func index(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "My Res !!! %s", time.Now())
}
应用程序运行状况为"无数据".
最近的事件是"环境健康已从挂起状态转换为无数据状态.所有实例均未发送数据."
当我在chrome开发工具中查看并try 打开链接时,我只得到(失败的)net:ERR_CONNECTION_RESET."加载响应数据失败:找不到具有给定标识符的资源"
Potential Issues:
- 当我查看配置选项卡时,我发现这个环境不是专有网络的一部分.这可能是个问题吗?
Some Potential Next Steps:
- 在WSL上运行测试
- 在独立的EC2上测试部署
- try 通过CLI进行部署
- try 包装在docker容器中并部署docker(虽然这实际上并不能解决我的问题,但我希望能够在没有docker的情况下部署)