我安装了JBoss 3.0.1,它在端口80和ap的两个Apache上运行良好。端口8080上的Tomcat8。我从Tomcat部署sample war文件,可以在http://localhost:8080/sample/查看。
那么可以在Apache上映射它,然后我们可以在http://localhost/sample/访问它吗?如果是的话,你能帮我解决一下这个问题吗?任何建议都将不胜感激。
更新:出于POC目的,操作系统是Windows 7
答案 0 :(得分:2)
你可以通过AJP来做到这一点。你没有指定你使用的操作系统,但我认为它是GNU / Linux,尽管MS Windows的说明是相似的。
程序如下:
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>