Apache2 Ubuntu和Tomcat Web应用程序配置

时间:2012-04-19 18:41:14

标签: tomcat apache2

我正在使用Apache2(Ubuntu)和Tomcat来提供Web应用程序。目前,我的/etc/apache2/ports.conf只有默认端口监听( Listen 80 )。如果我使用网址http://hostname:80/webAppName,我的浏览器只会保持时钟说“等待主机名”。我相信Tomcat的默认端口是8080,我是否需要向ports.conf添加8080或更改Tomcats默认端口。有什么想法吗?

4 个答案:

答案 0 :(得分:1)

我没有Tomcat的经验,但谷歌搜索我发现了这个:

安装mod-jk; apache 2连接器。这是将apache与tomcat连接的包。

apt-get install libapache2-mod-jk

安装完成后,您需要对其进行配置。将这些行添加到/etc/apache2/apache2.conf

# Worker properties file
JkWorkersFile /etc/apache2/workers.properties

# Logging
JkLogFile /var/log/apache2/mod_jk.log

# Set the jk log level [debug/error/info]
JkLogLevel info

# Log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

您需要修改workers.properties文件,以便它知道在哪里找到您的tomcat安装。您需要将您的worker指向您的tomcat和java目录,并指定它正在运行的端口(在本例中为8080)。

workers.tomcat_home=/usr/local/tomcat/tomcat
workers.java_home=/usr/lib/jvm/java-6-sun
ps=/
worker.list=worker1

worker.default.port=8080
worker.default.host=localhost
worker.default.type=ajp13
worker.default.lbfactor=1

现在,返回到/etc/apache2/apache2.conf,并添加您希望共享的tomcat上下文。不幸的是(据我所知)你无法转换到不同的上下文(即你的apache中的TestContext必须转换为tomcat中的TestContext。如果你想翻译它,你需要使用apaches(awesome)模块mod_rewrite。)< / p>

# Send servlet for context / TestContext to worker named worker1

JkMount /TestContext worker1
JkMount /TestContext/* worker1

JkMount /AnotherContext worker1
JkMount /AnotherContext/* worker1

重启apache(/etc/init.d/apache2 restart)。现在,发送到apache的任何请求(即http://myserver/TestContext)都将被转发到tomcat。

答案 1 :(得分:1)

你错配了Apache HTTPD(一个网络服务器,主要被称为apache或apache2)和Apache Tomcat(一个java servlet引擎)!

要在tomcat上访问应用程序,您必须访问在tomcat中配置的端口(对于http通常为8080):http://hostname:8080/application

如果要通过httpd访问tomcat应用程序,则必须配置httpd来代理您的请求。如何做到这一点可以在我对this question的回答中看到。

答案 2 :(得分:0)

Web应用程序是Web或应用程序服务器的动态扩展,为营销人员提供了一种了解访问其站点的人员的方法。 Web Application

答案 3 :(得分:0)

我认为这是改变apache tomcat端口号的合适解决方案。我使用了这个教程http://beginlinux.com/server/ubuntu/changing-the-port-on-tomcat,它对我有用。