我的 tomcat 服务器上有一个 webapp,如下所示:
mydomain.com:8080/mywebapp
然后我连接到我的 webapp,它工作正常,但我想要看到我的 webapp 是这样的:
mydomain.com
所以我不想只在端口 80 上使用 tomcat,我不想通过它的名称访问我的 webapp,我想直接使用我的域 URI 连接。
我怎样才能做到这一点?我希望它适用于 Linux(Ubuntu 12.04 LTS)和 Windows 服务器。
有几种方法可以实现这一点,但最常见的解决方法是在它前面运行 Apache 作为反向代理。你可以在这里找到一些细节。这将适用于 Linux 和 Windows。对于 Linux,您还可以使用authbind
Tomcat 绑定到端口 80。仅将端口更改为80
in yourserver.xml
将无法在 Linux 中运行,因为它需要您以 Tomcat 启动root
,这不是一个好主意。
此外,要让您的 webapp 位于/
,您可以将您的 war 文件部署为ROOT.war
.
在特权端口(低于 1024 的端口)上运行任何应用程序都需要特殊权限。如果您这样做,您应该确保您的实例已正确加固。
要配置 tomcat 侦听的端口,您必须修改 conf/server.xml 中的 HTTP 连接器(服务器参考文档):
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
要更改应用程序的上下文路径,您可以重命名 war 文件。要将其部署在根目录,请将您的 war 文件重命名为 ROOT.war。或者您可以添加一个 META-INF/context.xml,您可以在其中指定所需的上下文路径(上下文参考文档):
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/" />
您需要设置 apache webserver 并将其配置为使用 tomcat。
您需要使用mod_jk
才能配置 apache webserver 与 tomcat 通信。
使用此链接设置mod_jk
.