我的应用程序基于PHP。现在,我想集成一个用JSP编写的Web报告程序。因此,我有一个Apache HTTP Server和一个用PHP编写的应用程序。我什至安装了Tomcat来提供JSP文件,它在8080端口上运行良好。我也得到了mod_jk.so并在LoadModule jk_module modules/mod_jk.so文件中添加了httpd.conf行,但是仍然无法从应用程序文件夹(端口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和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 reportHTTP Status 404 - /jsp/index.jsp。这似乎是最后一个错误,但我仍然不知道该如何解决。

编辑

现在,我看到它有效。虽然,我得到了意外的行为。我以为可以将JSP文件放在htdocs文件夹中,但事实证明,它们应该放在tomcat中。

最佳答案

进行最少的设置。

worker.properties文件示例:

# Minimal jk configuration
JkWorkerProperty worker.list=ajp13w
JkWorkerProperty worker.ajp13w.type=ajp13
JkWorkerProperty worker.ajp13w.host=localhost
JkWorkerProperty worker.ajp13w.port=8009


8009是mod_jk在将请求转发到Tomcat时在HTTPD和Tomcat之间进行通信的默认端口。如果在此处进行更改,则也必须在Tomcat的server.xml中进行更改。

uriworkermap.properties文件示例:

/my_tomcat_app_to_expose_to_httpd/*=ajp13w


*有一个文件扩展名过滤器。 *用于所有文件,* .jsp仅用于jsp文件,等等。

此处列出的所有应用都将通过HTTPD提供。

在httpd.conf中,您需要:

LoadModule    jk_module  libexec/mod_jk.so
AddModule     mod_jk.c
JkWorkersFile /config_location/workers.properties
JkMountFile   /config_location/uriworkermap.properties
JkLogFile     /log_location/mod_jk.log
JkLogLevel    info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

09-11 18:14
查看更多