如何将 ruby​​ on rails 应用程序移动到新服务器

如何将 ruby​​ on rails 应用程序移动到新服务器

我在旧的 Ubuntu 服务器上有一个 rails 应用程序,我需要将其移到新机器上。

我没有使用过 ruby​​ on rails,所以我对该应用程序的结构并不十分了解。

我想将其加载到 Amazon EC2 上的 Ubuntu 8.04 AMI 上,并正在寻找有关迁移过程的任何信息,例如:

我是否要复制 mongrel 配置中定义为应用程序根目录的整个文件夹(例如:/u/apps/myapp/current)还是仅复制某些文件夹?

如果我使用最新版本的 ruby​​ 和各种 gem 是不是会自找麻烦?

在此过程中要注意哪些常见问题。

当前服务器信息:

root@webnode001:/# cat /proc/version
Linux version 2.6.15-27-server (buildd@terranova) (gcc version 4.0.3 (Ubuntu 4.0.3-1ubuntu5)) #1 SMP Fri Dec 8 18:43:54 UTC 2006
root@webnode001:/# rails -v
Rails 1.2.3
root@webnode001:/# mongrel_rails cluster::configure --version
Version 1.0.1
root@webnode001:/# gem -v
0.9.0
root@webnode001:/# gem list -l

*** LOCAL GEMS ***

actionmailer (1.3.3, 1.2.5)
    Service layer for easy email delivery and testing.

actionpack (1.13.3, 1.12.5)
    Web-flow and rendering framework putting the VC in MVC.

actionwebservice (1.2.3, 1.1.6)
    Web service support for Action Pack.

activerecord (1.15.3, 1.15.2, 1.14.4)
    Implements the ActiveRecord pattern for ORM.

activesupport (1.4.2, 1.4.1, 1.3.1)
    Support and utility classes used by the Rails framework.

cgi_multipart_eof_fix (2.1)
    Fix an exploitable bug in CGI multipart parsing which affects Ruby
    <= 1.8.5 when multipart boundary attribute contains a non-halting
    regular expression string.

daemons (1.0.7, 1.0.5, 1.0.4, 1.0.2)
    A toolkit to create and control daemons in different ways

eventmachine (0.7.2, 0.7.0)
    Ruby/EventMachine socket engine library

fastercsv (1.2.0, 1.1.0)
    FasterCSV is CSV, but faster, smaller, and cleaner.

fastthread (1.0)
    Optimized replacement for thread.rb primitives

ferret (0.11.4)
    Ruby indexing library.

gem_plugin (0.2.2, 0.2.1)
    A plugin system based only on rubygems that uses dependencies only

mongrel (1.0.1, 0.3.13.4)
    A small fast HTTP library and server that runs Rails, Camping, Nitro
    and Iowa apps.

mongrel_cluster (0.2.1)
    Mongrel plugin that provides commands and Capistrano tasks for
    managing multiple Mongrel processes.

mysql (2.7)
    MySQL/Ruby provides the same functions for Ruby programs that the
    MySQL C API provides for C programs.

piston (1.3.3)
    Piston is a utility that enables merge tracking of remote
    repositories.

rails (1.2.3, 1.1.6)
    Web-application framework with template engine, control-flow layer,
    and ORM.

rake (0.7.3, 0.7.1)
    Ruby based make-like utility.

sources (0.0.1)
    This package provides download sources for remote gem installation

swiftiply (0.5.1)
    A fast clustering proxy for web applications.

答案1

将整个事情放在当前形势下考虑。

您当前的站点可能正在使用 Capistrano 进行部署。如果是这样,您可能需要调查一下。如果这是您负责的事情,并且之前的人不再可以聊天,那么您也需要尝试发现更多信息:

  • 这个版本有控制吗?
  • 使用过 Capistrano 吗?
  • 数据库是否也移动并设置在新主机上?

如果是标准 Rails 设置,数据库可能被命名为 application_production。

另外,查看 config/environment.rb 中可能需要安装的其他内容。该版本的 Rails 相当旧,但应该仍然可以通过它进行安装,gem install因为您似乎已经设法做到了。

相关内容