fhzh0 2012-02-27
2012-2-27
版本:glassfish v3 apache httpd-2.2.22 mod_jk-apache-2.2.2.so
glassfish已经内部实现集群步骤
启动某个域后,打开后台管理
1.创建一个节点
2.创建一个集群并指向特定节点
3.在集群下创建实例,实例分两种,本机的和远程的。远程的要使用SSH安全套接字。确认后会给出新的监听端口
4.部署一个应用。在应用管理中更改应用的目标,将目标改为集群
5.通过集群实例的url和新端口测试是否成功
使用负载均衡
glassfish内部已经默认支持mod_jk,而且如果使用mod_jk将只能使用apache httpd前端
1.在后台选择glassfish中的集群实例,在实例管理页面中选中使用JK
2.安装httpd
3.在httpd中加入mod_jk加载模块,将mod_jk.so复制到httpd的modules目录下。注意:httpd与mod_jk版本一定要相同
4.配置httpd的conf文件,加入请求监听转向到glassfish集群中的端口
在conf/httpd.conf文件最后加入
include "D:\Apache2.2\conf\mod_jk.conf"
新建文件mod_jk.conf
文件内容
LoadModule jk_module modules/mod_jk.so # Where to find workers.properties JkWorkersFile conf/workers.properties # Where to put jk logs JkLogFile logs/mod_jk.log # Set the jk log level [debug/error/info] JkLogLevel error # Select the log format JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " # JkOptions indicate to send SSL KEY SIZE, JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories # JkRequestLogFormat set the request format JkRequestLogFormat "%w %V %T" JkShmFile logs/mod_jk.shm JkMount /* worker1
新建文件workers.properties
内容
# Define 1 real worker using ajp13 worker.list=worker1,worker2,loadbalancer # Set properties for worker1 (ajp13) worker.worker1.type=ajp13 worker.worker1.host=127.0.0.1 worker.worker1.port=28080 worker.worker1.lbfactor=1 worker.worker1.socket_keepalive=1 worker.worker1.reclycle_timeout=300 #worker.worker1.cache_timeout=600 #worker.worker1.cachesize=128 # Set properties for worker2 (ajp13) worker.worker2.type=ajp13 worker.worker2.host=127.0.0.1 worker.worker2.port=28081 worker.worker2.lbfactor=1 worker.worker2.socket_keepalive=1 worker.worker2.reclycle_timeout=300 #worker.worker2.cachesize=128 #worker.worker2.cache_timeout=600 worker.loadbalancer.type=lb worker.loadbalancer.balance_workers=worker1,worker2 #worker.loadbalancer.sticky_session=1
完成,启动httpd,测试成功