0

我一直在使用 Ruby on Rails 创建一个网站,并将通过朋友托管它。他有空间和能力来托管服务器,我有一个系统致力于成为一个专用服务器。这是我在 Rails 网站上的第一次尝试,以及与朋友的自托管。

今天和明天我将使用以下软件配置格式化和准备服务器:

  • 阿帕奇2
  • Phusion 乘客(又名 mod_rails)
  • Ruby 企业版
  • MySQL 5

我确实有很多问题,对于它们的复杂性,我深表歉意。我还没有找到这个配置的指南,而且作为 Rails 的新手,我还没有经验来解决这个问题。

对于此配置,最推荐使用哪种 Linux 版本?

我一直计划在 CentOS 上部署。需要注意的是,我从早期就一直是 Windows 用户,并且只使用 Linux 作为虚拟主机,并且很少使用开发命令(例如 CVS)。因此我对 Linux 的了解比较少,经验也比较少。如果我遇到任何部署障碍、由于 Linux 发行版而导致的技术问题,或者任何类似的问题……我完全被晾干了。

这包括从源代码构建任何东西。

如何在我的服务器上设置 Capistrano 以进行远程部署?

我知道这是矛盾的(Capistrano 是客户端,而不是服务器端),但我不知道它在服务器上需要什么。需要FTP吗?SFTP?SSL?SSH?什么?

我应该在我的服务器上配置什么,以及如何配置它,以使 Capistrano 能够顺利运行?

另外,我如何向 Capistrano 介绍我的 SCM 位于 localhost 并且由 Mercurial 提供的事实?(我使用了 TortoiseMg。)我可以转换为 SVN,并可能在服务器上建立一个存储库,但我不完全确定如何做到这一点。

从 localhost 开发部署到在完全不同的操作系统上部署时,您要注意的最大障碍是什么?

各种各样的

那为什么不部署到Windows呢? 因为我在买单,我不想再买一份 XP 或者可能是 2000;我拒绝使用 Vista。此外,对于服务器环境,Linux 比 Windows 安全得多。

为什么不阅读现有的指南? 我是; 这是我第一个使用 Ruby on Rails 的站点,我的预算现在不到两位数,我正在尝试通过进行服务器配置和远程部署(用于站点的进一步开发)来扩展我的视野我。过去,我的 PHP 网站依赖于主机,但它们的配置更加同质化。Ruby 服务器很昂贵,对我来说太贵了,而且了解它的配置不会有什么坏处。

4

3 回答 3

1

我发现在 Slicehost.com(一家 VPS 托管公司)上发布的文章很有帮助。

完整的文章列表位于:http ://articles.slicehost.com/sitemap 。您会在那里找到许多与 Ruby on Rails 应用程序的生产部署相关的文章。

于 2009-01-26T19:26:25.197 回答
1

对于此配置,最推荐使用哪种 Linux 版本?

任何发行版都可以正常运行,只要它们可以运行 Apache2(几乎是所有发行版)并且您可以安装Passenger(以及 ruby​​ 和 rails)。我个人使用 CentOS,发现它的包管理器非常容易使用(yum)。

yum install -y httpd ruby
gem install rails passenger

然后你所要做的就是/etc/httpd/conf/httpd.conf添加Passenger(在Passenger的安装文件之后passenger-install-apache2-module)并将它指向你的部署文件夹.../app_name/current/public

由于您使用的是Passenger,因此您应该覆盖重新启动任务来为它工作。

config/deploy.rb

namespace :deploy do
  desc "Restart Application"
  task :restart, :roles => :app do
    run "touch #{current_path}/tmp/restart.txt"
  end
end

如何在我的服务器上设置 Capistrano 以进行远程部署?

所有 Capistrano 需要的是具有足够权限的 SSH 访问来部署、迁移、重新启动应用服务器等。只需按照Capistrano 网站上的入门指南进行操作,您将立即启动并运行。

Capistrano 需要访问您的 SCM,您需要允许它连接到您的机器。Capistrano 所做的只是将您的代码签出到发布文件夹中,然后将符号链接从旧版本中移出并重新启动您的应用服务器。

从 localhost 开发部署到在完全不同的操作系统上部署时,您要注意的最大障碍是什么?

最大的障碍是迁移、测试、测试、测试和更多测试。应用程序中的错误很容易修复和重新部署,但迁移中的错误可能最终导致数据丢失的巨大痛苦。

于 2009-01-26T19:39:10.037 回答
0

我推荐使用 Ubuntu server 和deprec,因为它提供了大量的系统管理员配方,让事情变得更容易。

于 2009-08-24T02:16:58.070 回答