安装好JDK并设置好环境变量.
下载apache http服务器并安装.
tar zxvf httpd-*.tar.gz
cd httpd-*
./configure –prefix=/opt/apache –enable-module=so
make
make install
- 安装tomcat1和tomcat2,修改conf/server.xml,使其端口不冲突,并设置engine的jvmRoute
tomcat2配置
设置engine的jvmRoute
- 安装mod_jk,
tar zxvf akarta-tomcat-connectors-jk-*-src.tar.gz
cd %jk-home%/native
./buildconf.sh
./configure with-apxs=/opt/apache/bin/apxs
make
make install
cp native/apache-2.0/mod_jk.so /opt/apache/modules
copy %jk-home%/conf下的文件至%apache-home%/conf
修改%apache-home%/conf/httpd.conf文件,加入“ Include conf/httpd-jk.conf ”.
修改%apache-home%/conf/httpd-jk.conf
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkShmFile logs/mod_jk.shm
JkMount /*.jsp balancer
JkWatchdogInterval 60
- 修改%apache-home%/conf/worker.properties
worker.list=balancer
worker.balancer.type=lb
worker.balancer.error_escalation_time=0
worker.balancer.max_reply_timeouts=10
worker.node1.host=127.0.0.1
worker.node1.port=8009
worker.node1.activation=A
worker.node2.reference=worker.template
worker.node2.host=127.0.0.1
worker.node2.port=9009
worker.node2.activation=A
worker.template.type=ajp13
worker.template.socket_connect_timeout=5000
worker.template.socket_keepalive=true
worker.template.ping_mode=A
worker.template.ping_timeout=10000
worker.template.connection_pool_minsize=0
worker.template.connection_pool_timeout=600
worker.template.reply_timeout=300000
worker.template.recovery_options=3
worker.balancer.balance_workers=node1,node2
- 启动tomcat 启动apache ,配置成功.
其它资料
负载均衡的基本算法(参考F5产品):
随机:负载均衡方法随机的把负载分配到各个可用的服务器上,通过随机数生成算法选取一个服务器,
然后把连接发送给它。虽然许多均衡产品都支持该算法,但是它的有效性一直受到质疑,
除非把服务器的可运行时间看的很重。
轮询:轮询算法按顺序把每个新的连接请求分配给下一个服务器,最终把所有请求平分给所有的服务器。
轮询算法在大多数情况下都工作的不错,但是如果负载均衡的设备在处理速度、连接速度和内存等
方面不是完全均等,那么效果会更好。
加权轮询:该算法中,每个机器接受的连接数量是按权重比例分配的。这是对普通轮询算法的改进,
比如你可以设定:第三台机器的处理能力是第一台机器的两倍,那么负载均衡器会把两倍的
连接数量分配给第3台机器。
动态轮询:类似于加权轮询,但是,权重值基于对各个服务器的持续监控,并且不断更新。
这是一个动态负载均衡算法,基于服务器的实时性能分析分配连接,比如每个节点的当前连接数
或者节点的最快响应时间等。
最快算法:最快算法基于所有服务器中的最快响应时间分配连接。
该算法在服务器跨不同网络的环境中特别有用。
最少连接:系统把新连接分配给当前连接数目最少的服务器。
该算法在各个服务器运算能力基本相似的环境中非常有效。
观察算法:该算法同时利用最小连接算法和最快算法来实施负载均衡。服务器根据当前的连接数和
响应时间得到一个分数,分数较高代表性能较好,会得到更多的连接。
预判算法:该算法使用观察算法来计算分数,但是预判算法会分析分数的变化趋势来判断某台服务器
的性能正在改善还是降低。具有改善趋势的服务器会得到更多的连接。该算法适用于大多数环境。