我想在我的grails应用程序中使用mod_jk集成tomcat和apache。我希望我的静态资源由Apache提供。资源必须在应用程序之外。我为apache进行了设置,例如:

ProxyPass /appName ajp://localhost:8009/appName
ProxyPassReverse /appName ajp://localhost:8009/appName

请让我知道如何执行此操作。

最佳答案

ProxyPassmod_proxy使用的指令,而不是mod_jk

如果要使用mod_jk,请使用:

JkMount /appName/* workerApp

为此,您需要配置模块(/etc/apache2/mods-available/jk.load):
LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so

JkWorkersFile /etc/apache2/workers.properties
JkLogFile /var/log/apache2/mod_jk.log
JkLogLevel debug
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

然后添加一个worker(/etc/apache2/workers.properties):
workers.tomcat_home={PATH_TO_TOMCAT}
workers.java_home={PATH_TO_JVM}
ps=/
worker.list=workerApp
worker.workerApp.port=8009
worker.workerApp.host=localhost
worker.workerApp.type=ajp13
worker.workerApp.lbfactor=1

确保在Tomcat server.xml中未注释此行:
<Connector port="8009" address= "127.0.0.1" enableLookups= "false" redirectPort= "8443" protocol= "AJP/1.3" />

Apache Tomcat连接器-Reference Guidemod_jk配置的良好信息来源。

10-08 00:44