3

我正在使用 Apache2 (Ubuntu) 和 Tomcat 来提供 Web 应用程序。目前,我的 /etc/apache2/ports.conf 只有默认端口监听(Listen 80)。如果我使用 url http://hostname:80/webAppName我的浏览器会一直显示“等待主机名”。我相信 Tomcat 的默认端口是 8080,我需要将 8080 添加到 ports.conf 还是更改 Tomcat 的默认端口。有任何想法吗?

4

4 回答 4

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 安装。您需要将您的工作人员指向您的 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(真棒)模块 mod_rewrite。)

# 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。

于 2012-04-19T18:45:48.960 回答
1

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

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

如果你想通过 httpd 访问 tomcat 应用程序,那么你必须配置 httpd 来代理你的请求。如何做到这一点可以在我对这个问题的回答中看到。

于 2012-04-19T20:16:09.260 回答
0

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

于 2012-04-20T20:18:38.777 回答
0

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

于 2013-06-12T20:56:31.360 回答