apache server和tomcat集群配置一:水平负载
- 下载apache server,最新链接 http://archive.apache.org/dist/httpd/binaries/win32 当前实验版本2.2.4
- 下载apache tomcat,我在官网下的是7.0 http://tomcat.apache.org/download-70.cgi
- 下载tomcat到apache server的链接器 http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/ 按照系统的不同进行下载连接器
- 最后配置Apache Server的http.conf文件,在文件的最后添加如下代码
Include conf/mod_jk.conf
5.在apache Server的conf目录下,新建立一个文件mod_jk.conf,文件的内容如下:
#加载mod_jk Module LoadModule jk_module modules/mod_jk.so #指定 workers.properties文件路径 JkWorkersFile conf/workers.properties # 指定日志文件 JkLogFile logs/mod_jk.log # 指定日志级别 JkLogLevel debug #指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器 JkMount /*.jsp controller
6.在apache server的conf目录中,新建workers.properties文件,进行负载均衡配置,内容如下:
#server 列表 worker.list = controller,tomcat1,tomcat2 #========tomcat1======== #根据type设置端口号。如果为ajp13,则此处为ajp13的端口号(在tomcat下server.xml配置,默认8009)不是Tomcat的http端口号,是ajp的端口号,这个地方要特别注意。 worker.tomcat1.port=8009 #关联的端口号 worker.tomcat1.host=127.0.0.1 #ip地址 worker.tomcat1.type=ajp13 #类型 worker.tomcat1.lbfactor = 1 #平衡因素,值越大则jk分发到此tomcat的负荷越大 #========tomcat2======== worker.tomcat2.port=8009 worker.tomcat2.host=192.168.1.164 worker.tomcat2.type=ajp13 worker.tomcat2.lbfactor = 2 #========controller,负载均衡控制器======== #定义类型为负载均衡器lb worker.controller.type=lb #定义负载均衡的对象 worker.controller.balance_workers=tomcat1,tomcat2 worker.controller.sticky_session=false worker.controller.sticky_session_force=false ################################3 #1、其中worker.tomcat1.host中,tomcat1代表节点名,host值为节点IP, # 如果有更多节点,顺序定义更多的node段,并在worker.controller.balance_workers后全部列出。 #2、lbfactor是负载分配权重,值越大分配的负载越多。 #3、worker.controller.sticky_session,设置为1或true使用粘着session,设置为0或false不使用粘着session。 # 如果sticky_session设为true时,建议sticky_session_force设为false, # 此参数表明如果集群中某台服务器在多次请求没有响应后,将转发当前的请求到其它服务器上处理; # sticky_session=false时,影响比较大,会导致转发到其它服务器上的请求,找不到原来的session, # 所以如果此时请求中有读取session中某些信息的话,就会导致应用的null异常。 # sticky_session、sticky_session_force的默认值分别为true,false。 # sticky_session sticky_session_force 含义 # true false SESSION会复制,有粘性 # true true SESSION不复制,有粘性 # false false SESSION会复制,无粘性 # false true SESSION会复制,无粘性 #################################
7.在本地和远程的tomcat中的webapps下,新建目录,如Test,在Test下面建立test.jsp
8.启动apache server,访问localhost/Tets/test.jsp,可以看到,会把jsp请求分发到不同的服务器中。