gpt4 book ai didi

php - 在同一应用程序中使用 JSP 和 PHP

转载 作者:行者123 更新时间:2023-11-28 22:59:51 26 4
gpt4 key购买 nike

我的应用程序基于 PHP。现在我想集成一个用 JSP 编写的 web-reporter。因此,我有一个 Apache HTTP Server 和一个用 PHP 编写的应用程序。我什至安装了 Tomcat 来提供 JSP 文件,它在 8080 端口运行良好。我也得到了 mod_jk.so 并添加了一行 LoadModule jk_module modules/mod_jk.sohttpd.conf 文件,但我仍然无法运行 JSP 我的应用程序文件夹中的文件(端口 80)。我想,应该对 httpd.conf 文件进行额外的调整,但我不知 Prop 体应该做什么。

编辑我的 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 错误报告:HTTP Status 404 -/jsp/index .jsp。这似乎是最后一个错误,但我仍然不知道如何处理它。

编辑

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

最佳答案

用于最小设置。

workers.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] "

关于php - 在同一应用程序中使用 JSP 和 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20910728/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com