我已经能够使用 Apache 网络服务器通过 mod_jk 连接器接受 jsp 请求,但是......在这种情况下是否可以配置 Struts2 应用程序?我应该如何配置?
最佳答案
mod_jk 用于代理从 Apache HTTPD 到 Apache Tomcat 的请求。由于 Struts2 应用程序只是一个 Java 应用程序,因此配置它与配置任何 Java 应用程序基本相同。
由于您没有提供有关您尝试过的配置(如果有的话)或您具体尝试做什么的任何详细信息,我将只提供我正在处理的生产应用程序的 mod_jk 配置的摘录。你应该咨询mod_jk documentation了解更多详情。
mod_jk.conf
这个文件是mod_jk的核心配置。它位于 conf.d 目录中。
# Load mod_jk module
LoadModule jk_module /usr/lib64/httpd/modules/mod_jk.so
# Where to find workers.properties
# Update this path to match your conf directory location (put workers.properties next to httpd.conf)
JkWorkersFile /etc/httpd/conf/workers.properties
# Where to put jk shared memory
# Update this path to match your local state directory or logs directory
JkShmFile /var/log/httpd/mod_jk.shm
# Where to put jk logs
# Update this path to match your logs directory location (put mod_jk.log next to access_log)
JkLogFile /var/log/httpd/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the timestamp log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
workers.properties
此文件声明了您要代理的所有工作程序(Tomcat 实例)。此示例假定只有一个名为“tomcat”的 Tomcat 实例。
# Define 1 real worker using ajp13
worker.list=tomcat
# Set properties for tomcat (ajp13)
worker.tomcat.type=ajp13
worker.tomcat.host=localhost
worker.tomcat.port=8009
Apache 虚拟主机配置
将其放入您的 Apache 配置中,例如 <VirtualHost >
中堵塞。名称“tomcat”是您在 workers.properties 中定义的任何名称。此示例会将所有 请求路由到 Tomcat。
JkMount /* tomcat
补充
请记住在您的 Tomcat server.xml 中启用 ajp13 连接器。
关于tomcat - 如何配置 struts2 与 tomcat 和 apache 与 mod_jk?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19102644/