我想在我的grails应用程序中使用mod_jk
集成tomcat和apache。我希望我的静态资源由Apache提供。资源必须在应用程序之外。我为apache进行了设置,例如:
ProxyPass /appName ajp://localhost:8009/appName
ProxyPassReverse /appName ajp://localhost:8009/appName
请让我知道如何执行此操作。
最佳答案
ProxyPass
是mod_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 Guide是
mod_jk
配置的良好信息来源。