【发布时间】:2013-09-30 19:54:42
【问题描述】:
我已经能够使用 Apache Web 服务器来接受使用 mod_jk 连接器的 jsp 请求,但是...在这种情况下是否可以配置 Struts2 应用程序?我应该如何配置?
【问题讨论】:
我已经能够使用 Apache Web 服务器来接受使用 mod_jk 连接器的 jsp 请求,但是...在这种情况下是否可以配置 Struts2 应用程序?我应该如何配置?
【问题讨论】:
mod_jk 用于代理从 Apache HTTPD 到 Apache Tomcat 的请求。由于 Struts2 应用程序只是一个 Java 应用程序,因此配置它基本上与任何 Java 应用程序相同。
由于您没有提供有关您尝试过的配置(如果有的话)或具体尝试做什么的任何详细信息,因此我将仅提供我正在开发的生产应用程序的 mod_jk 配置的摘录。详情请咨询mod_jk documentation。
这个文件是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] "
该文件声明了您要代理的所有工作程序(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 配置中,例如在 <VirtualHost > 块中。名称“tomcat”是您在workers.properties 中定义的任何名称。此示例会将 所有 请求路由到 Tomcat。
JkMount /* tomcat
记得在你的 Tomcat server.xml 中启用 ajp13 连接器。
【讨论】: