【发布时间】:2014-01-03 18:52:19
【问题描述】:
我的申请基于PHP。现在我想集成一个用JSP 编写的网络记者。所以,我有一个Apache HTTP Server 和一个用 PHP 编写的应用程序。我什至安装了Tomcat 来提供JSP 文件,它在8080 端口上运行良好。我还得到了 mod_jk.so 并在 httpd.conf 文件中添加了一行 LoadModule jk_module modules/mod_jk.so,但我仍然无法从我的应用程序文件夹(端口 80)运行 JSP 文件。我想,httpd.conf 文件应该有额外的调整,但我不知道具体应该怎么做。
编辑
我的workers.properties 长得一模一样
JkWorkerProperty worker.list=ajp13w
JkWorkerProperty worker.ajp13w.type=ajp13
JkWorkerProperty worker.ajp13w.host=localhost
JkWorkerProperty worker.ajp13w.port=8009
我的uriworkermap.properties 看起来像这样
/jsp/*=ajp13w
jsp 是 htdocs 中的一个文件夹,包含 jsp 文件
最后,我的httpd.conf 现在包含
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule jk_module modules/mod_jk.so
#AddModule mod_jk.c
#JkWorkersFile C:/Program Files/Apache Software Foundation/Tomcat 6.0/conf/workers.properties
#JkMountFile C:/Program Files/Apache Software Foundation/Tomcat 6.0/conf/uriworkermap.properties
JkLogFile C:/Apache/logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
每个注释行都使服务器无法启动。
编辑
我安装了较新版本的 Tomcat - Tomcat 8.0,但问题仍未解决。
编辑
通过apache.org这个链接判断,可以通过更改server.xml(tomcat的)和httpd.conf的一些更改(关于虚拟主机)来解决问题。但在这个世界上总是如此,本文没有提供任何具体的例子。
编辑
我提前了一步。导致服务器无法运行的最愚蠢的错误是引号。所以httpd.conf - JkWorkersFile C:/Program Files/Apache Software Foundation/Tomcat 8.0/conf/workers.properties 中的这条线给了我一个错误,但经过三个小时的努力,结果证明它应该是JkWorkersFile "C:/Program Files/Apache Software Foundation/Tomcat 8.0/conf/workers.properties"。所以,现在它运行了。但是,当我转到 localhost/jsp/index.jsp 时,我现在看到一个 Apache Tomcat error report:HTTP Status 404 - /jsp/index.jsp。这似乎是最后一个错误,但我仍然不知道如何处理它。
编辑
现在我看到它有效。虽然,我得到了一个意想不到的行为。我以为我可以将 JSP 文件放在 htdocs 文件夹中,但事实证明,它们应该放在 tomcat 中。
【问题讨论】:
-
您是否为 mod_jk 创建了配置文件以指定哪些 Tomcat 应用程序要公开到端口 80? IE。将 JkWorkersFile 添加到 httpd.conf 并创建该文件。 tomcat.apache.org/tomcat-3.3-doc/mod_jk-howto.html
-
不,我没有。顺便说一句,我发现这些链接 rimuhosting.com/mod_jk2_and_mod_proxy_ajp.jsp 和 httpd.apache.org/docs/2.2/mod/mod_proxy_ajp.html 似乎很有希望,但我仍然不明白应该做哪些修改,因为我从来没有使用反向代理和所有这些东西。
-
这里的文档更清晰。 tomcat.apache.org/connectors-doc
-
谢谢!但是有大量的信息和术语(工人等)。
-
和往常一样,文档已经过时了。例如,它说关于 conf 中的workers.properties 文件。但是我看到没有workers.properties 文件,而是有catalina.properties 和logging.properties。当文档毫无意义时,这真的让我发疯了