Apache+Tomcat集群及负载均衡配置文档
一、
负载均衡
负载均衡,就是apache将客户请求均衡的分给tomcat1,tomcat2....去处理。
1 下载apache、tomcat和jk
配置JDK环境变量(本文使用jdk1.6.0_18),安装验证无误接着下一步。 下载Tomcat、Apache和mod_jk-1.2.30-httpd-2.2.3.so
Tomcat版本号:tomcat5.5.zip版
下载地址:http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.18/bin/ Apache版本号:Apache HTTP Server 2.2.17
下载地址:http://httpd.apache.org/
jk的版本号:mod_jk-1.2.30-httpd-2.2.3.so(2.2.3适合于apache2.2.x版本)
下载地址:http://apache.etoak.com/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.30/
2 安装apache、tomcat、jk、JDK 2.1 安装JDK
正确安装JDK1.6.0_18,安装完后配置环境变量,在CMD输入java –version确认是否安装成功。
2.2 安装apache
安装apache,在安装过程中要配置域名、网址和管理员邮箱之类的信息,这个信息完全可以按照提示,然后修改下填入即可,之后想修改的话直接到配置文件中改就行了。除了这个地方,还要保证机器上的80端口没有被其他程序占用(例如本机安装了IIS的话,80端口可能会被占用)。安装路径可以默认也可以自定义。其他的默认就行了。安装成功后,系统右下角的托盘区会有个图标,我们可以通过这个启动apache,如果那个小红点变成绿色,说明服务已经正常启动了(如果服务没有启动起来,说明安装过程中的配置有错误,建议卸载后重装)。如果按照默认,端口是80的话,那打开浏览器,输入:http://localhost/ ,应该可以看到 “It works!”的字样。这样就可以进入下一步了。
2.3 安装tomcat
解压缩tomcat5.5.zip,记得解压后复制一份。将两个tomcat命名为:tomcat1和tomcat2,然后放在同一个目录下。如果是多台机安装就要在多台机上安装tomcat。
2.4 Jk配置
jk是一个连接模块,不用安装,直接将mod_jk-1.2.30-httpd-2.2.3.so这个文件拷贝到apache安装目录下的modules文件夹下面即可。(本例为:C:\\Program Files\\Apache Software Foundation\\Apache2.2\\modules)
这样,安装工作到此完成,下面开始配置。
3 负载均衡配置
3.1 修改Apache配置文件http.conf
在apache安装目录下conf目录中找到http.conf
在文件最后加上include\Files\\Apache Software Foundation\\Apache2.2\\conf\\mod_jk.conf\即可,注意确认下Apache安装路径文件夹路径是否正确。 如下图所示:
3.2 http.conf 同目录下新建mod_jk.conf文件,内容如下
#加载mod_jk Module,注意mod_jk-1.2.30-httpd-2.2.3.so必须与modules文件夹下的JK名字一致 LoadModule jk_module modules/mod_jk-1.2.30-httpd-2.2.3.so #指定 workers.properties文件路径
JkWorkersFile conf/workers.properties
#指定那些请求交给tomcat处理,\为在workers.propertise里指定的负载分配控制器 JkMount /*.jsp controller
如下图所示:
3.3 在http.conf同目录下新建 workers.properties文件,内容如下
worker.list = controller,tomcat1,tomcat2 #server 列表 #========tomcat1========
worker.tomcat1.port=8009 #ajp13 端口号,在tomcat下server.xml配置,默认8009 worker.tomcat1.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址 worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor = 1 #server的加权比重,值越高,分得的请求越多
#========tomcat2========
worker.tomcat2.port=9009 #ajp13 端口号,在tomcat下server.xml配置,默认8009 worker.tomcat2.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址 worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor = 1 #server的加权比重,值越高,分得的请求越多
#========controller,负载均衡控制器======== worker.controller.type=lb
worker.controller.balanced_workers=tomcat1,tomcat2 #指定分担请求的tomcat worker.controller.sticky_session=1
如下图所示:
3.4 修改tomcat配置文件server.xml
如果你在不同电脑上安装tomcat,tomcat的安装数量为一个,可以不必修改tomcat配置文件
如果同一台电脑上安装两个tomcat,所以需要更改其中一个的设置,如果本机服务端口较多的话则把所有的端口都更改下,不让其冲突即可。 打开tomcat2/conf/server.xml文件
(1)、将\改为\\,如下图:
(2)、将\改为\\,如下图:
(3)、将\改为\\,取消下面一段注释符,将将\改为\
如下图:
注意:本例tomcat5版本中的server.xml可能与tomcat6版本中的server.xml有所不同,tomcat5版本中的server.xml注释的代码较多,较齐全。如果是用tomcat6进行测试,还需对比tomcat5中server.xml,将tomcat6缺少内容补上,切记!切记!
3.5 编写一个测试jsp
建立一个目录test.里面新建一个test.jsp,内容为
<%
System.out.println(\%>
把test放到tomcat1,tomcat2的webapps下
3.6 启动apache,tomcat1,tomcat2,进行测试
通过 http://localhost/test/test.jsp 访问,查看tomcat1的窗口,可以看到打印了一行\===========================\
再刷新一次,tomcat2也打印了一条,再刷新,可以看到请求会被tomcat1,tomcat2轮流处理,实现了负载均衡