ruby-on-rails – Web应用程序分段服务器的最佳实践(预算)

我想为Rails应用程序设置一个分段服务器。我使用git& github,Cap,并有一个VPS与Apache / Passenger。对于分段设置的最佳做法,对于分段服务器的配置以及与其进行交互的过程,我很好奇。我知道它应该尽可能与生产服务器完全相同,但是限制对它的公开访问将会限制这一点,所以仅仅为了我的使用来保护它的提示也将是巨大的。

另外一个具体的问题就是我是否可以在VPS上创建一个虚拟主机,这样,分段服务器可以与生产服务器一起驻留。我有一种感觉,可能有理由要避免这一点。

便宜回答:

1)您的VPS上的点staging.domainname.com。

2)添加一个虚拟主机进行分期,指向应用程序的暂存副本。

3)添加一个分段环境设置。 (你知道你可以定义新的
Rails环境?有趣的东西!)我认为这就像将production.rb复制到staging.rb一样简单,并根据需要进行调整,并更新database.yml。

4)在ActionController中,添加与以下内容相似的代码

   if (ENV["RAILS_ENV"] == "staging")
     before_filter :verifies_admin
   end

其中verifications_admin可以是你想要的任何东西。我建议使用HTTP基本身份验证 – 便宜且容易。

def verifies_admin
  authenticate_or_request_with_http_basic do |username, password|
    username == "foo" && password == "bar"
  end
end

请注意,如果这些请求向您发送入站请求,这可能会将您的连接泄露到该付款站点,尽管这足够简单,可以修复(只需关闭before_filter以进行适当的控制器和/或操作)。

更好的答案:

1)购买从与常规VPS相同的映像配置的第二个VPS,和/或从相同的裸机脚本配置(我喜欢Capistrano和Deprec为此)。

2)Point staging.domainname.com在它。

3)否则与其他选项相同。

想想的事情

1)我还应该有一个分期数据库吗?可能,特别是如果您要测试模式更改。

2)我应该在分段和生产系统之间移动数据吗?

3)我的分期应用程序的灾难性故障可能会占用主要应用程序吗?最好的希望答案是否定的。

翻译自:https://stackoverflow.com/questions/565647/best-practices-for-a-web-app-staging-server-on-a-budget

转载注明原文:ruby-on-rails – Web应用程序分段服务器的最佳实践(预算)