在apache2上配置虚拟主机
问题描述:
我正在从Dreamhost切换到Rackspace云托管,因为前者处理rails应用程序的能力有待改进。我已经安装了一台CentOS服务器,我已经部署了我的Rails应用程序,并且解决了域问题,一切都很好。现在我想设置它,所以如果我直接进入IP地址,我将得到正常的apache目录而不是rails应用程序。我想如果这仅仅是一个虚拟主机可以管理这个,但现在他们都去轨页或Apache网页,视情况可能是在apache2上配置虚拟主机
<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将第一个虚拟主机作为所提供IP的主要主机(或者全部是*)。因此,您应该能够设置您的主要虚拟主机记录,确保它的第一个虚拟主机记录已加载,并且每当遇到未绑定的IP或未绑定的地址时它都会加载该虚拟主机。然后指定第二个虚拟主机,并在其中指定要指向您的Rails应用程序的特定域/子域。
请注意,如果您将虚拟主机记录分割为多个文件(即站点可用/站点启用的文件夹)。 Apache按字母顺序加载它们,通常在基于debian的系统上,您将看到000-default或similer文件。这一个在开始时使用数字来确保它总是第一个加载并承担主虚拟主机的角色
使用基于名称的虚拟主机?并有apache.mywebsite.com指向apache页面,或类似的东西。并有www指向你的rails应用程序。 – 2012-02-28 15:30:11