说我有一个注册的URL mywebsite.com指向我的服务器与公共IP地址。
我想同时运行tomcat和apache来为页面提供服务(例如,在apache上的一些静态页面和在tomcat上的一些dynamic页面,比如jsp等)。
为了简单起见,我们假设Apache正在侦听8080和8080上的tomcat。
我听说过mod_proxy 。 是否有可能请求mywebsite.com去apache和mywebsite/loggedin去tomcat? 如果是的话,应该如何configuration和在哪里? 谢谢。
我会build议使用mod_jk – 它往往比mod_proxy更具体,更容易debugging。 你可以转发上下文。 也就是说,如果我在Tomcat上运行webapp1和webapp2 ,并且在Apache上有一个images目录,这将工作:
<VirtualHost *:80> ... JKMount /webapp1/* ajp13 JKMount /webapp2/* ajp13 Alias /images "/some/local/dir" </VirtualHost>
这也更容易configuration,大多数发行版已经在其本地软件包pipe理器中有软件包。 希望这可以帮助!
mod_proxy与tomcat很好地协作。 有两种方法通过mod_proxy代理到tomcat。
mod_proxy_ajp是一个与Apache相比的软件包,与需要下载和编译的mod_jk相比。 但mod_jk通常首先获得新的function,并有更多的select。 如果你的设置不复杂… mod_proxy_ajp是要走的路。 在Tomcat的情况下,您需要将tomcatconfiguration为具有AJP连接器。 在server.xml中你不需要http连接器。 对于apache来说,这个指令可能像这样简单:
ProxyPass / loggedin ajp://127.0.0.2:8009 / loggedin
代理文档与ajp例子在这里: http : //httpd.apache.org/docs/2.2/mod/mod_proxy.html