我正在使用Ruby on Rails 3.1,我在www.mywebsitename.com
域运行了一个应用程序。出于改进原因,我想在www.uk.mywebsitename.com
子域运行我的应用程序(BTW:在www.mywebsitename.com
域我将运行RoR应用程序以将用户重定向到正确的子域。)
我不需要地理编码或类似功能。简单地说,我想知道如何在www.uk.mywebsitename.com
网址上运行我的应用程序(我计划将其他/类似的RoR应用程序添加为子域www.de.mywebsitename.com
和www.it.mywebsitename.com
,每个人都使用一个单独的数据库):我需要关心/做什么?你有什么建议?
P.S。:我的服务器正在运行Linux Ubuntu和Apache。我使用Capistrano宝石进行部署。
答案 0 :(得分:4)
看起来你正在寻找如何制作apache虚拟主机,因为这基本上就是他们所做的。
我假设您正在使用phusion乘客,在这种情况下,您应该已经拥有一个vhost(或者至少是/etc/apache/sites-available
中的默认网站(或者类似的,可能是apache2
,我“我不完全确定。”
要使多个rails应用程序正常工作,您基本上需要做的是为每个rails应用程序设置一个vhost,并为每个vhost设置正确的ServerName
和DocumentRoot
。
对于你来说,它可能看起来像这样:
<VirtualHost *:80>
ServerName www.uk.mywebsitename.com
DocumentRoot /path/to/where/your/uk/site/is/deployed/current/public
<Directory /path/to/where/your/uk/site/is/deployed/current/public>
Allow from all
Options -MultiViews
</Directory>
</VirtualHost>
如何为乘客设置vhosts记录在in the passenger documentation。