端口80上的Apache 2.4.6和Apache Tomcat 7.0.42

时间:2014-02-28 09:42:29

标签: apache2 tomcat7 mod-jk ubuntu-13.10

在我的Ubuntu 13.10上,我安装了Apache和Tomcat。我试图让tomcat在端口80上工作而根本没有运气。我已经看过在几个在线教程之后使用mod_jk但没有成功。我想要实现的是我在tomcat上运行作为根应用程序的webapp。因此,当前网址为www.example.com:8080。我也有网址www.example.com上的apache。我希望能够访问apache webserver上的文件,例如www.example.com/somefile,但也可以在www.example.com上同时运行我的webapp。请任何人都可以帮忙。

3 个答案:

答案 0 :(得分:0)

您需要将URL重定向添加到apache并检查apache httpd.conf中的路径。

检查传入请求的路径只是example.com,然后将其重写为example.com:8080。

apache的mod_proxy应该能够为你做到这一点。

http://tomcat.apache.org/tomcat-4.1-doc/proxy-howto.html

答案 1 :(得分:0)

默认情况下,Apache Tomcat在端口8080上运行。如果需要在端口80中运行它,则需要使用tomcat附带的JSVC。如果您通过下载二进制版本安装了tomcat,那么jsvc将在

下可用
[tomcat_install_path]/bin/commons-daemon-native.tar.gz 

你需要解压并编译它。编译很容易。

# ./configure
# make

编译完成后,您将获得需要放在tomcat bin目录下的jsvc二进制文件。

然后在jsvc的帮助下启动tomcat,按照提到的步骤here

JSVC是官方推荐的在端口80中启动Tomcat的方法。

答案 2 :(得分:0)

所以我设法通过使用Mod_Proxy来解决这个问题。编辑/ etc / apache2 / sites-enabled中的000-Deafult.conf文件并添加以下行:

ProxyPass /SomeUrl !
ProxyPass / http://localhost:8080/

第一行表示您不想代理的内容,第二行表示要代理的内容。在这种情况下,将Tomcat的ROOT应用程序在8080端口转发到Apache Web服务器的根目录

还编辑了/ etc / tomcat7中的server.xml文件并添加了以下内容

<Connector port="8080" protocol="AJP/1.3" proxyName="www.mydomain.com" proxyPort="80"/>