我已经在线搜索并阅读了 Apache、Passenger、Rack 等的文档,但尚未找到解决我的问题的方法。
我有几个基于 Rack(ruby)的应用程序,位于
/home/web/sites/app1
/home/web/sites/app2
/home/web/sites/app3
app1 是 Sintra 应用程序,app2 是 Padrino,app3 是 Rails。
我想在不同的端口下运行这些应用程序(假设服务器 IP 是 50.60.70.101):
50.60.70.101:4567 -> app1
50.60.70.101:3000 -> app2
50.60.70.101:80 -> app3
配置 Apache 的虚拟主机文件以实现此目的的正确方法是什么?
我在 /etc/apache2/sites-available/ 中有 3 个文件具有这种类型的配置(IP 已更改):
<VirtualHost *:4567>
RackEnv production
DocumentRoot /home/web/sites/app1/public
<Directory /home/web/sites/app1/public>
Order allow,deny
Allow from all
Options -MultiViews
#AllowOverride All
</Directory>
</VirtualHost>
但是我无法访问 50.60.70.101:4567 上的 app1(不过 app3 可以在端口 80 上运行)。
答案1
您需要使用指令明确告诉 Apache 监听这些端口Listen
;请查看绑定到地址和端口。