用mod_proxy_ajp连接Apache2和Glassfish

之前一直是使用mod_ajp来连接Glassfish,尝试了mod_proxy_ajp方式后,觉得变得更加简单了,再三努力之下,终于配置成功。下面开始动手。

1,本配置的前提是Apache2,Glassfish都已经安装成功,可以独自运行,mod_proxy_ajp也已经初步配置成功。关于mod_proxy_ajp的配置,可以参考其它资料

2,创建glassfish-jk.properties文件(文件名可以随意)

# Define 1 real worker using ajp13
worker.list=worker1
# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=9009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300


3,添加两个JVM参数
$GLASSFISH_HOME/bin/asadmin create-jvm-options -Dcom.sun.enterprise.web.connector.enableJK=9009

$GLASSFISH_HOME/bin/asadmin create-jvm-options
-Dcom.sun.enterprise.web.connector.enableJK.propertyFile=domain-dir/config/glassfish-jk.properties


注:很多资料用的是8009,我这里是用的9009,当然,你也可以改成你自己希望的端口号,但是要保持glassfish_jk.properties一致。如果你的Glassfish安装的管理端口号不是默认的,那么必须在这边使用--port=$PORT来指定你自己的端口号。

另外除了命令行,你还可以通过admin console页面来追加jvm参数。
直接将

-Dcom.sun.enterprise.web.connector.enableJK=9009
-Dcom.sun.enterprise.web.connector.enableJK.propertyFile=domain-dir/config/glassfish-jk.properties
通过管理页面,添加到glassflish的jvm参数中去。

另外,必须记住,将tomcat-ajp.jar,commons-logging.jar,commons-modeler.ja拷贝到$GLASSFISH_HOME/lib中去。
4,配置你的站点Location信息
# Glassfish
<Location /glassfish/>
ProxyPass ajp://localhost:9009/
</Location>
5,重新启动Apache2以及Glassfish

OK。大功告成。

0 Responses to "用mod_proxy_ajp连接Apache2和Glassfish"