【问题标题】:Configuring virtual hosts on apache2在 apache2 上配置虚拟主机
【发布时间】:2012-03-18 02:04:15
【问题描述】:

我正在从 Dreamhost 切换到 Rackspace Cloud 托管,因为前者处理 Rails 应用程序的能力还有一些不足之处。我已经设置了一个 CentOS 服务器,我已经部署了我的 rails 应用程序并且域解析,一切都很好。现在我想设置它,所以如果我直接访问 IP 地址,我将获得正常的 apache 目录而不是 rails 应用程序。我以为虚拟主机可以管理这个,但现在他们都去rails页面或apache页面,视情况而定

<VirtualHost *:80>
  ServerName 123.456.789.101
  DocumentRoot /var/www/html
</VirtualHost>

<VirtualHost *:80>
  ServerName mywebsite.com
  ServerAlias www.mywebsite.com
  DocumentRoot /rails/myapp/current/public
  <Directory /rails/myapp/current/public>
    AllowOverride all
    Options -MultiViews
  </Directory>
</VirtualHost>

我不太确定如何进行,或者这只是不可能开始。想法?

【问题讨论】:

  • 使用基于名称的虚拟主机?并让 apache.mywebsite.com 指向 apache 页面,或类似的东西。并让 www 指向您的 rails 应用程序。

标签: apache2


【解决方案1】:

Apache 将第一个虚拟主机作为它提供的 IP 的主要主机,(或在 * 的情况下为所有 IP)。因此,您应该能够只设置您的主虚拟主机记录,确保它是第一个加载的虚拟主机记录,并且每当遇到未绑定的 IP 或未绑定的地址时,它将加载该虚拟主机。然后指定第二个虚拟主机,其中包含要指向 Rails 应用程序的特定域/子域。

请注意,如果您将虚拟主机记录拆分到多个文件(即站点可用/启用站点的文件夹)中。 Apache 按字母顺序加载它们,通常在基于 debian 的系统上,您会看到 000-default 或类似文件。这个在开始时使用数字来确保它总是第一个加载并承担主要虚拟主机的角色

【讨论】:

    猜你喜欢
    • 2014-10-29
    • 2014-10-23
    • 1970-01-01
    • 2013-12-27
    • 2016-09-11
    • 2017-07-23
    • 2018-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多