【问题标题】:Apache2 Ubuntu and Tomcat Web Application ConfigurationApache2 Ubuntu 和 Tomcat Web 应用程序配置
【发布时间】:2012-05-01 08:33:24
【问题描述】:

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

【问题讨论】:

    标签: tomcat apache2


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

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

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

        【讨论】:

          【解决方案4】:

          我没有使用 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 重启)。现在,任何发送到 apache(即http://myserver/TestContext)的请求都会被转发到 tomcat。

          【讨论】:

          • 不推荐使用 mod_jk。它已经过时了。对于代理或负载平衡,请使用 mod_proxy 和 mod_proxy_http(如果您更喜欢 AJP,则使用 mod_proxy_ajp)和 mod_balancer。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-06-21
          相关资源
          最近更新 更多