linux - Go 二进制文件无法在 openshift 中运行

标签 linux go openshift

我在 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/

相关文章:

nginx - 将 openshift 路由从 http 更改为 https 时 x-forwarded-for header 丢失

android - 如何在 Linux 服务器上从 AndroidSDK 安装 Android API 和构建工具?

c - 在 C 中操作 char* 数组时的奇怪行为

compilation - go build 工作正常,但 go run 失败

git 推送到 OpenShift Git 存储库需要很长时间

kubernetes - OpenShift::POD 未从部署配置继承 "name label"

c++ - 在 Qt 中以 root 身份执行 Linux 命令

java - php exec() for java on website 不工作,但工作在服务器终端

html - Go r.FormValue 为空

arrays - 如何从go lang中的json数组访问键和值