【发布时间】:2011-07-30 05:12:16
【问题描述】:
我有一个 Linode(Ubuntu 9.10,但升级不是问题),我在其中运行一些 PHP 应用程序并运行了一个 Sinatra 和 Rails 2 应用程序。我尝试部署一些新的 Rails (3) 应用程序,但这样做几乎破坏了一切:)。
我的要求很简单:
- PHP 应用程序有点要求“LAMP”,即使它在不同的端口上运行,然后 :80,在某些代理后面也可以。
- 我想运行几个 Rails3 和 Rails2 应用程序。
我需要在这些应用程序中使用不同版本的 gem。
SOLR、MongoDB、MySQL 和 Resque 等附加服务已安装并运行,因此目前不是问题,但仍是要求。
以前,我只有一个 Rails 应用程序和一个简单的 Sinatra 应用程序支持 Phusion Passenger,这些 gem 安装在全球范围内。 在引入 Rails 3 应用程序时,会出现 gem-version-conflicts,所以我安装了 RVM,但这严重破坏了现有应用程序。
我遇到的问题的一个例子:现有的应用程序是Tracks,它的所有 gem 都打包在 vendor/gems 中,其中一些在 rubygems.org 上不可用。我无法让 RVM 识别这些宝石。我一直从一个问题(RVM 无法识别供应商/gems、rake gems:安装未安装、Rails 和 rubygems 版本之间的冲突等)跑到其他问题。我不是为这个问题中的每一个问题寻求解决方案。
新的 Rails 3 应用更喜欢 Ruby 1.9,但针对 ruby 1.8.7 安装了 Passenger。我已设法降级这些 Rails3 应用程序,因此它们可以在 1.8.7 上运行,但我更喜欢允许我使用最适合该应用程序的任何 ruby 版本的解决方案。
您将如何设置这样的服务器? 会您首先设置这样的服务器吗?是否有负担得起的商业解决方案?或者我应该为每个应用寻找解决方案,例如虚拟机?关于负载和使用:这主要用于个人和演示使用:因此每个应用程序必须每天提供最多 800 次浏览量:非常非常低的使用率(重度使用的应用程序和客户端项目的实际部署是在专用服务器上完成的) .
【问题讨论】:
标签: php ruby-on-rails apache hosting passenger