在具有相同IP的相同服务器中的Apache两个Ruby on Rails应用程序中进行configuration

我以前运行过两个Ruby和Rails应用程序,其中一个使用rails console命令,另一个使用Apache trough Phusion Passenger。 两个应用程序运行在相同的IP,唯一的区别是应用程序运行在轨道控制台可以从端口3000访问。

现在,我想用Apache运行这两个应用程序,但是我知道configuration要做什么。 我读了一些VirtualHosts,但我不明白。 考虑到我只有一个服务器和一个域,我只是使用了不同的端口。 我尝试了几次类似这样的事情:

<VirtualHost *:80> #ServerAdmin @dummy-host.example.com DocumentRoot /webserver/myapp/public ServerName myapp-Development <Directory /webserver/myapp/public> AllowOverride all Options -MultiViews </Directory> ErrorLog logs/k2-error_log CustomLog logs/k2-access_log common </VirtualHost> <VirtualHost *:3000> #ServerAdmin @dummy-host.example.com DocumentRoot /webserver/myapp2-admin/public ServerName myapp2-admin <Directory /webserver/myapp2-admin/public> AllowOverride all Options -MultiViews </Directory> #ErrorLog logs/k2-error_log #CustomLog logs/k2-access_log common </VirtualHost> 

没有工作,我只需通过在浏览器中inputIP访问第一个应用程序。

如何在不同端口的同一台服务器上安装2个RoR应用程序?

要么

可选:我如何让myapp2在同一个端口80上运行,但在这个方向上可用:some.ip.address / admin?

在Amazon EC2实例中使用CentOS 5.7。

我在这个问题中find了一个答案,问题是我没有一个域来创build子域的CNAMESlogging: https : //stackoverflow.com/questions/4203580/creating-subdomains-in-amazon-ec2

你可能忘了编辑ports.conf,你需要添加另一个Listen来使apache绑定到这个端口。

检查我的答案在这里有一个类似的问题,从子url的服务多轨应用程序。

如果你想从两个不同的端口服务你的两个rails应用,除了虚拟主机,你还必须添加到你的apache conf

 Listen 80 Listen 3000 NameVirtualHost *:80 NameVirtualHost *:3000