我正在开发我的第一个Java站点。我在端口8080上运行Apache Tomcat,在端口80上运行Apache HTTPD。我可以访问该站点的当前URL是(例如)123.4.5.6:8080。在将域指向新IP之前,我想从URL中删除端口号。
目前我只使用Apache作为phpmyadmin,但是一旦我找到mod_jk
等,我计划将它用于CGI脚本和其他东西......所以我不想将Tomcat的端口更改为80并关闭Apache。
我希望这是有道理的。
答案 0 :(得分:41)
正确的做法是让Apache保持在80,Tomcat保持在8080,并使用插件(最好是mod_proxy)从Apache代理Tomcat。 mod_proxy只需要10分钟即可完成设置。
此how-to非常容易理解。
答案 1 :(得分:17)
正如您已经提到的,通常的方法是使用Apache HTTPD中的mod_jk
来转发您希望由Tomcat处理的内容。
tomcat.apache.org上有一个Quick HowTo。您需要执行以下操作:
mod_jk.so
复制到Apache HTTPD的相应模块目录中。workers.properties
httpd.conf
中,添加一个部分以配置mod_jk
。mod_jk
协议,该协议通常位于端口8009上。 httpd.conf
中JkMount
的行:
JkMount /examples/* worker1
告诉Apache HTTPD将哪些请求转发给Tomcat。
答案 2 :(得分:2)
上述两个有用的答案都很好,但我更喜欢mod_proxy
而不是mod_jk
。对于mod_proxy,没有额外的安装要做,与mod_jk
不同,设置更容易。 mod_jk
使您可以更好地控制Tomcat参数的详细调整,但如果您只想从Apache到Tomcat的简单重定向,mod_proxy
就可以了。
答案 3 :(得分:1)
如果您希望Apache而不是Tomcat提供静态内容,您应该使用mod_jk:http://tomcat.apache.org/tomcat-6.0-doc/proxy-howto.html
那么SSL呢?如果我们希望Apache处理HTTPS,因为它比java / Tomcat更快?
答案 4 :(得分:0)
您应该使用此链接配置您的tomcat。对于tomcat 7 http://tomcat.apache.org/tomcat-7.0-doc/proxy-howto.html