2

如何将 Amazon EC2 实例配置为个人空间,以提供我想要的任何 Ruby on Rails 或 WordPress 项目,以及它们自己的域?作为一名开发人员,我发现关于如何为所有基于 Web 的项目创建自己的“存储桶”的信息非常少。

4

1 回答 1

0

上手非常容易,但是有很多不同的方法可以实现。为了为您提供相关资源,我将对您的设置做出一些假设,并尝试用粗线条进行绘画:

  • 你正在运行一个基于 Debian 的 Linux 发行版(Ubuntu 很受欢迎并且拥有一个很棒的社区)
  • 您正在运行 LAMP(Linux、Apache、MySQL 和 PHP)堆栈(请参阅Ubuntu 文档中的安装 LAMP 服务器)。
  • 您将把站点部署到 /var/www 的默认服务器位置

您要做的第一件事是阅读虚拟主机 (vhosts)。一种常见的模式是将虚拟主机的 Web 根目录放在 /var/www/vhosts/ 的子​​目录中(例如 /var/www/vhosts/example.com/),尽管从技术上讲,这些子目录可以存在于服务器上的任何位置。

创建文档根目录后,您将在 /etc/apache2/sites-available 中为每个站点提供一个虚拟主机文件,该文件看起来(非常高级/初级)如下所示:

<VirtualHost *:80>
  ServerName example.com
  DocumentRoot /var/www/vhosts/example.com/
</VirtualHost>

这告诉 Apache 监听对 www.example.com 的请求并将它们路由到 /var/www/vhosts/example.com。Apache vhost 配置选项非常混乱,我建议您在 Google 上搜索一些更具体的示例,尽管000-default在 Ubuntu 上查看与 Apache 捆绑的 vhost 是一个不错的起点。

当您准备好激活虚拟主机时,您需要启用虚拟主机并重新加载/重新启动 Apache:

$: a2ensite {your vhost file name} # Creates a symlink to this vhost file in /etc/apache2/sites-enabled/
$: service apache2 restart # restart Apache

由于您想将不同的域指向您的项目,您只需要创建一个 DNS 记录(A 记录将是最简单的,除非您正在处理各种不断变化的 IP 地址)并将其指向您的 IP 地址服务器。Apache 会将域路由到适当的虚拟主机。

对于 Rails 项目,web 根目录应该是 public/ 目录,所以你的DocumentRoot指令是DocumentRoot /var/www/vhosts/example.com/public. 您还需要为 Rails 应用程序运行与 Ruby 兼容的服务器,Phusion PassengerThinUnicorn都非常流行。

于 2013-06-19T00:12:00.823 回答