【问题标题】:Rails Under Construction Page正在建设中的轨道页面
【发布时间】:2011-02-26 12:10:34
【问题描述】:

我知道这对某些人来说可能看起来微不足道,但其他人不会明白这一点 - 对我来说这会很棒:

我正在尝试研究如何快速有效地向我的 Rails 应用程序提交更新,在我重新启动 rails 应用程序时切换到正在构建的样式页面,然后测试更改,然后当我满意时,切换回现场公开版。

目前,我遵循以下模式:

  • 1、对应用进行修改
  • 2、使用 Versions App for Mac 提交到 BeanstalkApp
  • 3、将修订版从BeanstalkApp部署到服务器
  • 4、登录服务器重启apache
  • 5,等待几秒钟,然后开始仔细检查一切是否正常

如果有帮助,我将在 Turnkey Rails 映像 VPS 上使用Passenger。

提前感谢您的任何建议等。

谢谢,

丹尼

【问题讨论】:

    标签: ruby-on-rails passenger turnkeylinux.org


    【解决方案1】:

    你有几个选择:

    • 创建一个用于“测试”的子域并将其部署到您的生产服务器,经过审核后,您可以将其推送到您的生产代码位置。

    您需要能够将子域添加到您的 DNS 记录中,以指向与您的主要生产服务器相同的 IP 地址。然后,您还需要使用 ServerName subdomain.host.comDocumentRoot /data/host.com/testing/public 添加一个新的 VirtualHost,以便它加载该代码。

    我个人已经完成了这两种方法。我更喜欢方法 #1,但这是个人喜好和您对主机的访问级别。

    【讨论】:

    • 谢谢,马特。因为它是一个 VPS 服务器,所以我可以完全控制 - 并不总是一件好事!如果我选择第一个选项,创建一个用于测试等的子域,你会建议使用公共/实时数据库吗?我面临的大多数问题都是在迁移等过程中,因此我想在“检查”事情时尝试限制应用程序的停机时间。
    • 由于您可能需要迁移,我建议使用“暂存”数据库。为此,您可以使用多种工具来复制数据库(当然取决于大小)。从理论上讲,分期应该永远领先于或等于生产(以结构方式)。如果您需要经常与生产同步,那就是另一回事了:)。最好有一个单独的数据库供您测试,一旦一切顺利,您就可以投入生产。 (通过推送我的意思是重新运行你的迁移)。
    • 目前,我有一个本地 sqlite3 数据库和一个带有 mysql 数据库的登台(阅读:生产)服务器。由于数据库类型不同,我无法复制内容。我是否正确阅读,理想情况下我应该必须完全相同的设置,以便如果我在舞台上运行 rake db:migrate 它肯定会在生产环境上工作?
    • 不。我通常在本地使用 SQLite 数据库进行开发,因此我可以看到数据复制并不容易。我要做的是在你的 mysql 服务器上有另一个名为 _staging 的数据库。将您的 rails 应用程序配置为在“暂存模式”下指向暂存数据库(我相信您知道这很容易)。要在第一次创建此数据库时,您可以使用 phpMyAdmin 例如完全复制数据库。
    • 啊,我明白了,我对数据库方面的事情非常满意,有没有一种快速的方法可以在暂存模式下启动应用程序的副本?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-10
    • 1970-01-01
    • 2021-01-13
    • 1970-01-01
    • 2011-05-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多