我想知道是否可以在 Apache 中运行 Tomcat 服务器,同时在其他虚拟主机实例下运行 PHP 服务器?如果是这样,这是如何完成的?
基本上,我正在尝试运行一个 Apache 服务器,该服务器根据所使用的 DNS 地址重定向到不同的应用程序。例如:
www.javaapp.com -> 将 Java 应用程序发送到客户端浏览器
和
www.phpapp.com -> 将 PHP 应用程序发送到客户端浏览器
我还想知道是否有办法在 RoR 中添加第三个应用程序,以及 Apache 是否可以为 Rails 提供服务?
我目前正在使用 Tomcat 作为我的 JSP 应用程序,我知道这可以与 Apache 集成,但我不确定它是否可以与用其他语言编写的应用程序一起完成。据我所知,Apache 能够根据输入的 DNS 地址重定向到虚拟主机,我认为这非常酷,并且确实可以帮助我在我正在编写的机器上托管多个应用程序。
答案1
您可以按照以下说明将请求从 Apache 代理到 Tomcat http://tomcat.apache.org/tomcat-8.0-doc/proxy-howto.html。基本上你的 apache 配置中需要这样的东西:
ProxyPass /myapp http://localhost:8081/myapp
ProxyPassReverse /myapp http://localhost:8081/myapp
只要您使用/myapp
上面的唯一前缀访问应用程序,同样的方法也应该适用于 Rails。
如果你想代理整个虚拟服务器(例如ProxyPass / http://localhost:8081/myapp
),那么信息http://www.humboldt.co.uk/2009/02/the-mystery-of-proxypassreverse.html可能有助于保持重定向正常工作。