Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在JBoss Web服务器中将应用程序从Tomcat8映射到Apache?_Java_Apache_Tomcat_Jboss - Fatal编程技术网

Java 如何在JBoss Web服务器中将应用程序从Tomcat8映射到Apache?

Java 如何在JBoss Web服务器中将应用程序从Tomcat8映射到Apache?,java,apache,tomcat,jboss,Java,Apache,Tomcat,Jboss,我安装了JBoss3.0.1,它在端口80上的Apache和端口8080上的Tomcat8都运行良好。我从Tomcat部署了一个文件,可以在上查看它 那么有没有可能把它映射到Apache上,然后我们就可以访问它了?如果是的话,你能帮我怎么做吗?如有任何建议,将不胜感激 更新:出于POC目的,操作系统是Windows 7您可以通过AJP来实现。您没有指定您正在使用的操作系统,但我将假定它是GNU/Linux,尽管MS Windows的说明将类似 程序如下: 为AJP安装Apache模块,通常称为

我安装了JBoss3.0.1,它在端口80上的Apache和端口8080上的Tomcat8都运行良好。我从Tomcat部署了一个文件,可以在上查看它

那么有没有可能把它映射到Apache上,然后我们就可以访问它了?如果是的话,你能帮我怎么做吗?如有任何建议,将不胜感激


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

您可以通过AJP来实现。您没有指定您正在使用的操作系统,但我将假定它是GNU/Linux,尽管MS Windows的说明将类似

程序如下:

  • 为AJP安装Apache模块,通常称为类似于
    libapache2 mod jk
    。(在debian/ubuntu中,您可以运行
    sudo-apt-get-install-libapache2 mod jk
  • 然后您将有一个名为
    jk
    或类似的新模块。您必须启用它(在debian/ubuntu中,您可以运行sudoa2enmod jk)
  • 默认配置将主要起作用,打开它查看where does
    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
....
每个工人都可以指向不同的tomcat服务器。端口必须与配置到
$CATALINA_HOME/conf/server.xml
中的端口相同。在该文件中,有一个用于AJP协议的连接器:

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
Apache位置指令(查看顺序、拒绝和允许以满足您的需要):


JkMount worker1
命令拒绝,允许
全盘否定
允许从本地主机

感谢@malaguna提供的详细解释和参考资料。我使用Windows7进行测试。那我就试试……:)谢谢你的更新!!它很好用。还有一个问题,指向静态文件(图像…)的链接在Tomcat上断开了。有没有办法解决这个问题?servlet应用程序中的静态内容不需要特殊配置。它是开箱即用的。如果apache上的静态内容需要避免通过ajp重定向该内容。是的,那么Tomcat中的静态资源应该移动到apache然后JBoss 3?这是三年前的版本…是新的:)。JBoss Web服务器3.0.1于2015年10月9日美国东部夏令时下午12:47发布。没错,你是对的。
worker.list=worker1

# worker1 definition
worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.type=ajp13
<Location /sample/>
    JkMount worker1
    Order deny,allow
    Deny from all
    Allow from localhost
</Location>