1

几个月前,我在 openshift 上成功部署了一个 rails 单齿轮应用程序。我现在正在尝试部署一个可扩展的应用程序。设置应用程序,连接 git,将极简项目推送到 openshift 后,我​​收到 503 Server Unavailable 错误。在做了相当多的研究之后,我推测我的问题可能与 HAProxy 有关。此处的以下帖子详细介绍了 haproxy 和处理 cfg。我的本地齿轮和后端确实有相同的 DOWN 齿轮,按照 haproxy.cfg 文件中的建议进行修改并没有解决我的问题,但列出的博客文章指的是 Java 项目,因此没有比较相同的环境.

该应用程序在我的本地主机上按预期运行,并通过 ssh 进入应用程序的 rhc,我可以运行必要的 rake 任务、迁移等等。

有没有其他人遇到过类似的问题?如果是这样,有人能够纠正这个问题吗?

4

2 回答 2

1

问题已经死了,但无论如何都必须弄清楚。因此,如果它可以帮助某人,这就是交易。基本上,我发现有两件事会导致可扩展 Rails 4.1.x 应用程序出现问题。

  • 至于今天必须在中gem 'rake'定义Gemfile(它可以在没有定义 rake 的情况下在本地工作,但不能在 openshift 上工作)。如果您看到一些'block in materialize': Could not find rake-10.4.2 in any of the sources (Bundler::GemNotFound)错误,可能就是这样。

  • 您必须在 中定义您的根路由routes.rb,例如:root 'users#index'- 如果没有定义根路由,haproxy 平衡器将不会启动您的 ruby​​ 设备。如果您看到一些Layer7 wrong status, code: 404错误,可能就是这样。

如果您需要进一步调试,请尝试转到http://yourappname-yourdomainname.rhcloud.com/haproxy-status/. 在那里你可以看到你的装备和它们的真实状态。

还要确保您在database.yml. 如果参数不正确,齿轮 - 在大多数情况下 - 将无法启动。(最好的方法是把初始的 sqlite3 配置放在那里进行测试,一旦一切就绪,再使用你的真实数据库。)

附带说明:至于今天,没有在 openshift 上安装 rails 4.2 的选项。至少没有社区墨盒,但我还没有找到任何工作。如果你看到一些错误rack 1.5.2可能意味着你需要降级到 rails 4.1.0。一旦一切就绪 - 尝试转到 4.1.9 并查看它是否有效。

祝你好运!

于 2015-02-25T04:07:46.400 回答
0

我看到你在 openshift 上。以下是我发现 90% 的工作时间:

首先,转到项目的基本目录。然后添加 force clean build 标记

touch .openshift/markers/force_clean_build

然后使用

git add .openshift/markers/force_clean_build
git commit -m "Force clean build"
push -f
于 2016-03-28T12:19:01.250 回答