【问题标题】:OpsWorks overriding database.yml / ignoring custom JSONOpsWorks 覆盖 database.yml / 忽略自定义 JSON
【发布时间】:2013-06-07 14:53:27
【问题描述】:

当我使用 OpsWorks 部署 Rails 应用程序时,会在 shared 目录中创建一个新的 database.yml。它忽略了现有的 database.yml (理所当然地不应该在 repo 中),我也尝试指定自定义 JSON,但没有任何效果。也许我的结构有误?

{
  "deploy": {
    "my-app-name": {
      "database": {
        "adapter": "mysql2",
        "encoding": "unicode",
        "host": "xxxxxx.rds.amazonaws.com",
        "port": "3306",
        "database": "db-name",
        "pool": "5",
        "username": "username",
        "password": "password"
      }
    }
  }
}

【问题讨论】:

  • 只是补充一下,因为在我得到正确的 JSON 之后,我也花了一些时间来解决这个问题。在 RDS 控制台中,您需要将 Opsworks Rails 服务器中的安全组添加到您的 RDS 实例,以便允许该实例连接到 RDS。请在此处查看操作方法:docs.aws.amazon.com/AmazonRDS/latest/UserGuide/... 您可以尝试是否可以从 Opsworks 实例连接到 RDS 实例,通过 ssh 连接到实例,然后通过 telnet 连接到您的 RDS 实例,例如telnet Your-RDS-Instance 3306
  • 部署到 OpsWorks 时,我们不应该在我们的应用程序中包含 database.yml 吗?我将它包括在内,现在我从 Apache2 得到死符号链接“无法读取文件”错误。很困惑,不知道这是在哪里记录的。

标签: ruby-on-rails deployment amazon-web-services aws-opsworks


【解决方案1】:

使用该应用的简称(不带连字符)。我之前用的是全名。见:https://forums.aws.amazon.com/message.jspa?messageID=444711

【讨论】:

    【解决方案2】:

    也看这里:

    http://wojtek.ziniewi.cz/2013/06/10/custom-symlinks-in-amazon-opsworks-ror-application/

    并且永远记得通过登录到您的一个 opsworks 服务器的控制台并输入来检查您的 stack-json:

    opsworks-agent-cli get_json
    

    【讨论】:

    • 链接断开。与往常一样,最好将文本复制到此处的答案中,以防万一。
    猜你喜欢
    • 2011-05-11
    • 2011-06-19
    • 1970-01-01
    • 2023-03-04
    • 2016-05-07
    • 2020-03-30
    • 2015-04-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多