如何在JBoss Web Server中将应用程序从Tomcat8映射到Apache?

时间:2015-10-21 05:01:09

标签: java apache tomcat jboss

我安装了JBoss 3.0.1,它在端口80和ap的两个Apache上运行良好。端口8080上的Tomcat8。我从Tomcat部署sample war文件,可以在http://localhost:8080/sample/查看。

那么可以在Apache上映射它,然后我们可以在http://localhost/sample/访问它吗?如果是的话,你能帮我解决一下这个问题吗?任何建议都将不胜感激。

更新:出于POC目的,操作系统是Windows 7

1 个答案:

答案 0 :(得分:2)

你可以通过AJP来做到这一点。你没有指定你使用的操作系统,但我认为它是GNU / Linux,尽管MS Windows的说明是相似的。

程序如下:

  • 为AJP安装Apache模块,通常称为libapache2-mod-jk。 (在debian / ubuntu中,您可以运行sudo apt-get install libapache2-mod-jk )。
  • 然后你将有一个名为jk或类似的新模块。你必须启用它(在debian / ubuntu中你可以运行sudo a2enmod jk )。
  • 默认配置主要是服务,打开它看看JkWorkersFile指向哪里。需要此文件来配置管理与tomcat应用程序通信的workers
  • 创建工作人员文件(如果不存在)。工作文件或多或少如下。

示例工作者文件:

ps=/
worker.list=worker1,worker2,...

# worker1 definition
worker.worker1.port=8009
worker.worker1.host=192.168.1.23
worker.worker1.type=ajp13

# worker2 definition
....

每个worker都可以指向不同的tomcat服务器。端口必须与配置为$CATALINA_HOME/conf/server.xml的端口相同。在这个文件中有一个AJP协议的连接器:

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

每个工人都必须指向这个端口。

最后,您可以使用JkMount workerName将虚拟主机,位置等配置到Apache中,以指示Apache必须将此URL转发给正确的工作人员。

有大量样本文档。在这里您使用的是Tomcat官方文档:https://tomcat.apache.org/connectors-doc/webserver_howto/apache.html

希望它有所帮助!

修改

如果您使用的是MS Windows,则可以从此网址https://tomcat.apache.org/download-connectors.cgi下载mod_jk

安装并按照建议进行配置。由于您要将此网址http://localhost/sample映射到http://localhost:8080/sample中的tomcat应用,您的配置必须如下:

工作人员文件(使用server.xml tomcat配置文件查看端口):

worker.list=worker1

# worker1 definition
worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.type=ajp13

Apache位置指令(审核订单,拒绝并允许满足您的需求):

<Location /sample/>
    JkMount worker1
    Order deny,allow
    Deny from all
    Allow from localhost
</Location>