负载均衡环境搭建实战之apache和tomcat
Linux基本环境
负载均衡的环境需要在linux下搭建完成,所以有一个基础的linux系统是必须的,这里建议大家按照http://edu.51cto.com/course/10209.html中的基础linux环境来安装,这样能少走弯路。
1、下载http2.4版本,并解压http包
2、./configure --prefix=/opt/apache2/ --with--mpm=worker --enable-so --enable-mods-shared=all --enable-forward=shared --enable-speling=shared --enable-rewrite=shared --enable-proxy=shared --enable-proxy-ajp=shared --enable-dav=shared --enable-mod_proxy_http=shared --enable-mod_proxy_ftp=shared --enable-mod_proxy_ajp=shared --enable-mod_proxy_balancer=shared --enable-mod_proxy_connect=shared --with-apr=/opt/apr --with-apr-util=/opt/apr-util --with-pcre=/opt/pcre
3、make &&make install
PS:如果运行命令出现问题请自行google错误一般都可以解决
1、 下载对应版本的Java1.7,
a) 现象:如何查看Linux版本:
uname –m: 若是i386 或 i686 则是32位kernel
2、 安装Java1.7
下载rpm包,然后chmod给予777权限之后在安装
3、 配置JDK环境变量
a、vi /etc/profile
在最后面加上:
export JAVA_HOME=/usr/java/jdk1.7.0_60
export CLASSPATH=.:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
b、source /etc/profile:重新加载环境变量
4、java –version:验证是否安装成功
PS:不知道哪里下载jdk的可以到这里下载:http://www.xqtesting.com/blog/jdk-103.html
Tomcat用7.0,安装及集群配置:
1、解压tomcat
2、mv成tomcat1
3、mv到/opt
4、cp –r tomcat1 tomcat2
5、vi /etc/profile写入export TOMCAT_HOME=/opt/tomcat1
6、tomcat1的server.xml文件保持默认,修改tomcat2的为如下
i. vi /opt/tomcat2/conf/server.xml
ii. VI下命令模式下 /Server port=8005修改为9005
iii. VI下命令模式下 /Connector port=8080修改为9090
iv. VI下命令模式下 /AJP=8009修改为9009
7、在IE上输入http://192.168.0.98:8080和http://192.168.0.98:9090
都可以看到以下界面就成功了!
在httpd.conf末尾加上:
include /opt/apache2/conf/mod_jk.conf
1、 去 http://www.apache.org/dist/tomcat/tomcat-connectors/jk/ 下载
tomcat-connectors-1.2.40-src.tar.gz
2、 tar xzvf tomcat-connectors-1.2.40-src.tar.gz
3、 mv tomcat-connectors-1.2.40-src /usr/local
4、 cd /usr/local/tomcat-connectors-1.2.40-src/native
5、 ./configure --with-java-home=/usr/java/jdk1.7.0_60 --with-apxs=/opt/apache2/bin/apxs
6、 make && make install
7、 cp apache-2.0/mod_jk.so /opt/apache2/modules/
8、 有下面的图就成功了:
在/opt/apache2/conf下建立mod_jk.conf文件,写入以下内容:
#加载mod_jk Module
LoadModule jk_module /opt/apache2/modules/mod_jk.so
#加载集群中的workers
JkWorkersFile /opt/apache2/conf/workers.properties
#加载workers的请求处理分配文件
JkMountFile /opt/apache2/conf/uriworkermap.properties
#指定jk的日志输出文件
#JkLogFile /opt/apache2/logs/mod_jk.log
#指定日志级别
#JkLogLevel warn
#指定日志的格式
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
#指定哪些请求交给tomcat处理,"controller"为在 workers.propertise里指定的负载分配控制器名
JkMount /*.* controller
在/opt/apache2/conf下建立workers.properties文件。配置内容:
#server 列表
worker.list=controller,tomcat1,tomcat2
#========tomcat1========
worker.tomcat1.port=8009 #ajp13 端口号,在tomcat下server.xml配置,默认8009(与你的tomcat1的AJP一致)
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(与你的tomcat2的AJP一致)
worker.tomcat2.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=1 #server的加权比重,值越高,分得的请求越多
#========controller,负载均衡控制器========
worker.controller.type=lb #server名为controller,用于负载均衡
worker.retries=3 #重试次数
worker.controller.balance_workers=tomcat1,tomcat2
#worker.controller.sticky_session=ture
在/opt/apache2/conf下建立uriworkermap.properties文件。配置内容:
#所有的请求都由controller这个server处理
/*=controller
#所有包含jkstatus请求的都由status这个 server处理
/jkstatus=status
#这里的"!”是“非”的意思。
!/*.gif=controller
!/*.jpg=controller
!/*.png=controller
!/*.css=controller
!/*.js=controller
!/*.htm=controller
!/*.html=controller
1、在/opt/tomcat1/webapps/test新建test.jsp,代码如下:
<%@ page contentType="text/html;charset=UTF-8"%>
Tomcat1测试
<% out.print( "_ _恭喜您,成功的安装并启动了 小强测试品牌,Tomcat1!! " ); %>
2、在/opt/tomcat2/webapps/test也建个一模一样的test.jsp,代码如下:
<%@ page contentType="text/html;charset=UTF-8"%>
Tomcat2测试
<% out.print( "_ _恭喜您,成功的安装并启动了,测试帮日记, Tomcat2!! " ); %>
3、访问http://192.168.0.98/test/test.jsp ,多次强刷,应该会访问到不同的tomcat(最好使用火狐或chrome浏览器)