apache - 使用多个不同的 Tomcat 7 实例设置 Apache2 的指南

标签 apache tomcat

我知道这个问题可能已经被问过很多次了,但我一直没能找到一个好的、最新的答案。我能找到的唯一指南是从 2005 年开始的,并且是在 tomcat 5 上。似乎很多操作系统路径都发生了变化。

我们的情况是这样的:

我们想在一台服务器上运行多个 tomcat 7 实例。每个 tomcat 提供不同的地址。例如,与 test.oursite.com 相比,www.oursite.com 应该由单独的 tomcat 提供服务。因此,例如,基本的 tomcat 安装将位于 /opt/tomcat/ 中,实例特定目录(这是我从那个旧教程中可以看出的)将位于 /home/user1/some/path//home/user2/some/path 这样一切都很好地分开了。

任何人都可以指出一个好的教程,或者在这里解释一下设置的步骤吗?我对 apache 设置有点陌生。

这样做有什么优点/缺点吗?单个 tomcat 实例会更好吗?我们需要能够在不相互影响的情况下一次关闭一个站点。此外,我们的 DNS 提供商阻止我们设置隐蔽重定向,因此我们必须通过 apache 来获得漂亮的 URL,而不是直接重定向到 tomcat。

谢谢

最佳答案

我相信您在这里有 2 个问题:

  1. 如何在同一台服务器上运行多个 tomcat 实例并且应该 你?
  2. 如何配置apache httpd做虚拟主机和前端 Tomcat ?

对于1.下面是一个很好的教程,关于如何在同一台服务器上运行多个tomcat实例:http://java.dzone.com/articles/running-multiple-tomcat ,但是你应该吗?答案是“视情况而定”。如果你有一个 super 强大的盒子并且它没有得到充分利用,你应该这样做。它还取决于您为每个站点运行的应用程序类型。它一定会帮助您“一次关闭一个站点而不会相互影响”。使用我将在下一节中解释的 apache httpd 配置,您还可以在单​​独的机器(物理或虚拟机)上运行每个站点。

对于2,在你的情况下,你只需要配置apache httpd做虚拟主机,并使用ajp连接到tomcat。

<VirtualHost *:80>
    ServerName www.oursite.com

    ProxyPass / ajp://tomcat.oursite.com:8009/www retry=5
    ProxyPassReverse / ajp://tomcat.oursite.com:8009/www
</VirtualHost>

<VirtualHost *:80>
    ServerName test.oursite.com

    ProxyPass / ajp://tomcat.oursite.com:8010/test retry=5
    ProxyPassReverse / ajp://tomcat.oursite:8010/test
 </VirtualHost>

在上面的配置中,需要配置www.yoursite.com和test.yoursite.com的DNS条目指向同一个主机。它还假定您在同一主机 tomcat.oursite.com 上的不同 tomcat 实例上同时运行 wwwtest webapps,一个在 ajp 端口 8009 上,另一个在 ajp 上端口8010。您也可以将其更改为自己的其他服务器。它非常灵活。仅供引用,以下是如何在 tomcat 中配置 ajp:http://tomcat.apache.org/tomcat-6.0-doc/config/ajp.html

关于apache - 使用多个不同的 Tomcat 7 实例设置 Apache2 的指南,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9979973/

相关文章:

php - 很简单的mod_rewrite问题

php - 在 .htaccess 中使 php_value 成为条件?

apache - 从 Laravel 4 URL 中删除 index.php 并将 www 重写为非 www

java - 通过本地 IP 使用 Tomcat 访问 Web 应用程序 URL 时出现 404 错误,但可以正常使用外部 IP

java - 启动/停止应用程序 Apache tomcat 服务器时出错

apache - 已安装 ssl 但不安全

tomcat - 通过命令提示符 : Access is denied 重新启动 Tomcat

java - Tomcat,Oracle 数据库 11gR2 的登录被拒绝

tomcat - 使用 jenkins 将 war 文件重新部署到 tomcat 服务器失败

java - 基于操作系统的不同风格