我的应用程序基于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 report
:HTTP 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] "