我在 go 1.2 中开发了一个基本的 go rest webservice。它在我的本地 linux 机器中按预期工作。但是当我将生成的二进制文件 scp 到 openshift 并尝试执行时,它立即终止而没有监听端口。这是应用程序代码:https://gist.github.com/anidotnet/9720936
我尝试使用在 openshift 服务器上编译的二进制文件和在我的本地 linux 机器上编译的二进制文件,但结果是一样的。尝试使用
执行它nohup ./app $
但它仍然终止。那里也没有 panic 日志。这里出了什么问题?我错过了什么吗?
最佳答案
我不是 Go 专家,但这里有一些要检查你的程序的东西:
确保您绑定(bind)到端口 8080 以从中为您的应用程序提供服务 确保绑定(bind)到您的 openshift ip 地址(不是 127.0.0.1、localhost 或 0.0.0.0,这些通常是默认值)
这是一个 OpenShift Go Cartridge,您可以尝试(查看模板目录中的代码)以获取有关如何正确绑定(bind)的提示:https://github.com/smarterclayton/openshift-go-cart
您需要的环境变量可以通过 sshing 进入您的设备并运行以下命令来找到:
环境 |查询 IP
环境 | grep端口
这些将根据您安装的网络墨盒的类型命名。
关于linux - Go 二进制文件无法在 openshift 中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22591536/