我正在从Dreamhost切换到Rackspace云托管,因为前者处理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>
我不太确定如何继续,或者这是不可能的。想法?
答案 0 :(得分:3)
Apache将第一个虚拟主机作为所提供IP的主要主机(或*的所有IP)。因此,您应该能够只设置主虚拟主机记录,确保它是第一个加载的虚拟主机记录,并且只要遇到未绑定的IP或未绑定的地址,它就会加载该虚拟主机。然后指定第二个虚拟主机,其中包含您要指向rails应用程序的特定域/子域。
请注意,如果您将虚拟主机记录分成多个文件(即站点可用/已启用站点的文件夹)。 Apache按字母顺序加载它们,通常在基于debian的系统上,您将看到000-default或similer文件。这个在开始时使用数字来确保它始终是第一个加载的并承担主vhost的角色